pmorie / osb-starter-pack

A quickstart for making a new Open Service Broker
Apache License 2.0
69 stars 47 forks source link
kubernetes openservicebroker openservicebrokerapi

OSB Starter Pack

Build Status

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.

Who should use this 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.

Prerequisites

You'll need:

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.

Getting started

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.

Get the project

$ 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 broker using Helm

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 broker using Openshift

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.

Adding your business logic

To implement your broker, you fill out just a few methods and types in pkg/broker package:

Goals of this project