An OSBAPI-compliant service broker that uses Terraform to create service instances.
This is a service broker built to be used with Cloud Foundry and Kubernetes. It adheres to the Open Service Broker API v2.13.
Cloud Service Broker is an fork of the GCP Service Broker and uses Brokerpaks to expose services. As long as your target cloud has a Terraform provider, services can be provisioned via a common interface using standard cf
CLI commands.
Some of the benefits over traditional, IaaS-provided, service brokers include:
- Easily extensible and maintainable Less talking to far-flung teams, more getting work done.
- One common broker for all brokered services. Cloud Service Broker decouples the service broker functionality from the catalog of services that it exposes.
- Credhub integration out-of-the-box CredHub encrypts and manages all the secrets associated with your usage of cloud services.
- Community When you expose a service via a Brokerpak, you can make it available to everyone who uses CSB.
- Possible to migrate existing services using TF Import
Please reach out on the #cloudservicebroker channel in the Cloud Foundry Slack!
This service broker can be installed as a CF application. See the instructions for:
To examine, submit issues or pull requests to the Brokerpaks which have been created for the major public clouds (AWS, Azure, GCP) see the repos below:
For operators: see docs/configuration.md for details about configuring the service broker.
For developers: see docs/ ReadMe for service options and details.
You can get documentation specific to your install from the /docs
endpoint of your deployment.
The service broker can be run as both a server (the service broker) and as a general purpose command line utility. It supports the following sub-commands:
client
- A CLI client for the service broker.config
- Show and merge configuration options together.help
- Help about any command.serve
- Start the service broker.
make
is used to orchestrate most development tasks.
go
1.18 is required to build the broker. If you don't have go
installed, it is possible to use a docker
image to build and unit test the broker. If the environment variable USE_GO_CONTAINERS
exists, make
will use docker
versions of the tools so you don't need to have them installed locally.
There are make targets for most common dev tasks. Running make without a target will list the possible targets.
command | action |
---|---|
make build |
builds broker into ./build |
make test-units |
runs unit tests |
make clean |
removes binaries and built broker paks |
File a GitHub issue for bug reports and documentation or feature requests. Please use the provided templates.
We are always looking for folks to contribute Brokerpaks!
See Brokerpak Dissection for more information on how to build one yourself.