-
Notifications
You must be signed in to change notification settings - Fork 15
Home
Abacus is a Cloud Foundry service broker, which provisions resource consumption service instances. This includes the creation of the needed abacus plans and UAA clients.
- GET /v2/catalog
- PUT /v2/service_instances/:instance_id
- PATCH /v2/service_instances/:id
- PUT /v2/service_instances/:instance_id/service_bindings/:binding_id
- DELETE /v2/service_instances/:instance_id/service_bindings/:binding_id
- DELETE /v2/service_instances/:instance_id
GET /v2/catalog
returns the broker catalog that is located in the lib/cf/broker/src/catalog/catalog.js
file.
More information on the meaning of the fields can be found in the official documentation.
PUT /v2/service_instances/:instance_id
creates a resource consumption service instance. This includes the creation of:
- metering plan
- pricing plan
- rating plan
- metering plan mapping
- pricing plan mapping
- rating plan mapping
All newly crated plans will look like the sampled plans located in lib/cf/broker/plans
with instance_id
as plan_id. The mappings will map (resource_type, plan_name) -> plan_id, where resource_type and plan_id are instance_id
, and plan_name is basic
by default.
This endpoint has not been implemented.
PUT /v2/service_instances/:instance_id/service_bindings/:binding_id
binds a resource consumption service instance to an application. The broker will create a UAA Client and will propagate the following variables to the binded application environment:
"credentials": {
"client_id": "abacus-rp-<instance_id>",
"client_secret": "<generated-password>",
"collector_url": "https://abacus-usage-collector.<domain>",
"dashboard_url": ""
}
The user/application will send its usage to the collector_url
, using the UAA client described with the client_id
and client_secret
fields, where client_id
is based on the instance_id
, and client_secret
is a generated password. The dashboard_url
is the place where the user will be able to update the plan, associated with the service instance.
DELETE /v2/service_instances/:instance_id/service_bindings/:binding_id
unbinds a resource consumption service instance from an application. The broker will delete the UAA Client and remove the environment variables, associated with the service, from the application.
DELETE /v2/service_instances/:instance_id
deletes a resource consumption service instance.
Deploying the Broker
Using the Broker
[Deploying the Dashboard] (https://github.com/cloudfoundry-incubator/cf-abacus-broker/wiki/Deploying-the-Dashboard)
[Using the Dashboard] (https://github.com/cloudfoundry-incubator/cf-abacus-broker/wiki/Using-the-Dashboard)