A go quickstart for creating service brokers that implement the Open Service
Broker API based on
osb-broker-lib
. Broker authors
implement an interface that uses the same types as the
go-open-service-broker-client
project.
You should use this project if you're looking for a quick way to implement an Open Service Broker and start iterating on it.
You'll need:
go
If you're using Helm to deploy this project, you'll need to have it installed in the cluster. Make sure RBAC is correctly configured for helm.
You can go get
this repo or git clone
it to start poking around right away.
The project comes ready with a minimal example service that you can easily deploy and begin iterating on.
$ go get github.com/pmorie/osb-starter-pack/cmd/servicebroker
Or clone the repo:
$ cd $GOPATH/src && mkdir -p github.com/pmorie && cd github.com/pmorie && git clone git://github.com/pmorie/osb-starter-pack
Change into the project directory:
$ cd $GOPATH/src/github.com/pmorie/osb-starter-pack
Deploy with Helm and pass custom image and tag name. Note: This also pushes the generated image with docker.
$ IMAGE=myimage TAG=latest make push deploy-helm
Deploy to OpenShift cluster by passing a custom image and tag name. Note: You must already be logged into an OpenShift cluster. This also pushes the generated image with docker.
$ IMAGE=myimage TAG=latest make push deploy-openshift
Running either of these flavors of deploy targets will build the broker binary,
build the image, deploy the broker into your Kubernetes, and add a
ClusterServiceBroker
to the service-catalog.
To implement your broker, you fill out just a few methods and types in
pkg/broker
package:
Options
type, which holds options for the brokerAddFlags
function, which adds CLI flags for an OptionsBusinessLogic
type, which implements the broker's
business logicNewBusinessLogic
function, which creates a BusinessLogic from the
Options the program is run with