cloud-service-broker

command module
v0.8.3-beta.0...-cb5e12f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

README

License test Go Report Card

Cloud Service Broker

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 extension of the GCP Service Broker and uses Brokerpaks to expose services. As long as your target public 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.
  • Easy to migrate existing services using TF Import We call this "Migration-less" Migration, more on this coming soon!

Architecture

Architecture Diagram

Public Roadmap

The previously mentioned Trello roadmap has been archived in favor of a new Roadmap, which will live in Github, is TBD.

For updates on this roadmap, please reach out on the #cloudservicebroker channel in the Cloud Foundry Slack!

Installation

This service broker can be installed as a CF application. See the instructions for:

CSB-Provided Brokerpaks

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:

Usage

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.

Commands

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.

Development

make is used to orchestrate most development tasks. golang 1.16 is required to build the broker. If you don't have golang 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.

command action
make build builds broker into ./build
make test-units runs unit tests
make clean removes binaries and built broker paks

Bug Reports, Feature Requests, Documentation Requests & Support

File a GitHub issue for bug reports and documentation or feature requests. Please use the provided templates.

Contributing

We are always looking for folks to contribute Brokerpaks!

See Brokerpak Dissection for more information on how to build one yourself.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
brokerapi
integrationtest
internal
brokerpak/brokerpakurl
Package brokerpakurl handles the logic of working out which URL to fetch Terraform resources from
Package brokerpakurl handles the logic of working out which URL to fetch Terraform resources from
brokerpak/fetcher
Package fetcher has logic for fetching a file from a source (which may be a file or URL) and saving it to a destination.
Package fetcher has logic for fetching a file from a source (which may be a file or URL) and saving it to a destination.
brokerpak/manifest
Package manifest is the data model for a manifest file.
Package manifest is the data model for a manifest file.
brokerpak/packer
Package packer knows how to create a brokerpak given a manifest, a source directory and a destination.
Package packer knows how to create a brokerpak given a manifest, a source directory and a destination.
storage/storagefakes
Code generated by counterfeiter.
Code generated by counterfeiter.
zippy
Package zippy is a basic API to zip and unzip files that uses archive/zip Name inspired by: https://en.wikipedia.org/wiki/Zippy_(Rainbow)
Package zippy is a basic API to zip and unzip files that uses archive/zip Name inspired by: https://en.wikipedia.org/wiki/Zippy_(Rainbow)
pkg
broker/brokerfakes
Code generated by counterfeiter.
Code generated by counterfeiter.
credstore/credstorefakes
Code generated by counterfeiter.
Code generated by counterfeiter.
providers/tf/tffakes
Code generated by counterfeiter.
Code generated by counterfeiter.
server/fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
toggles
Package toggles defines a standard way to define, list, and use feature toggles in the service broker.
Package toggles defines a standard way to define, list, and use feature toggles in the service broker.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL