on-demand-service-broker

module
v0.0.0-...-fb356ce Latest Latest
Warning

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

Go to latest
Published: May 17, 2023 License: Apache-2.0

README

on-demand-service-broker

A Cloud Foundry generic on demand service broker.

This is an on-demand broker designed to take advantage of BOSH 2.0 features such as IP management and global cloud configuration.

In production, this application is deployed via a BOSH release. See its repo for more details.

This repository is the broker implementation. To build a service that uses the broker, see the on-demand-services-sdk

User Documentation

User documentation can be found here. Documentation is targeted at service authors wishing to deploy their services on-demand and operators wanting to offer services on-demand.

Development

How are dependencies managed?

We only deploy this application with BOSH. Its dependencies are vendored as submodules into the BOSH release.

Go dependencies

Go dependencies are managed using go mod.

To fetch dependencies use

go mod download

To update an individual dependency use

go get -u <dependency-path>
go mod tidy
go mod vendor
Configuration

This app is configured with a config file, the path to which should be supplied on the command line: on-demand-broker -configFilePath /some/file.yml.

An example configuration file is config/test_assets/good_config.yml.

You will need to upload a service release for example a Redis release to your BOSH director.

Running tests

You can make use of the script in scripts/run-tests.sh to run tests skipping system tests.

Dev / test tools
  • go 1.20
  • counterfeiter (for re-generating fakes)
  • CF CLI (for system tests. See below)

Guidelines for PRs

First of all, thanks for your contribution! 👍

Please, make sure to read this few points before opening a new pull request.

  1. Make sure that tests run locally running scripts/run-tests.sh.
  2. Try to keep your pull request as small as possible by focusing on the feature you would like to add.
  3. If you see opportunities for refactoring, feel free to let us know by opening an issue.
  4. Try to follow the testing style we are using in the file you are modifying. Be aware that there might be inconsistencies among different tests.

Directories

Path Synopsis
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
services/fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
cf
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
cmd
collaboration_tests
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
integration_tests
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fake_manageable_broker
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
system_tests
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes_telemetry
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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