/bookstore-service-broker

Sample application for Spring Cloud Open Service Broker

Primary LanguageJavaApache License 2.0Apache-2.0

Overview

This project implements a sample service broker that adheres to the Open Service Broker API using the Spring Cloud Open Service Broker framework. It can be deployed to either Cloud Foundry or Kubernetes, and can be registered as a service broker to either platform.

Compatibility

Branches:

  • master - reactive, Spring WebFlux version of the sample app based on Spring Cloud Open Service Broker 3.3 and Spring Boot 2.4.

  • SCOSB-3.1.x - reactive, Spring WebFlux version of the sample app based on Spring Cloud Open Service Broker 3.1 and Spring Boot 2.2.

  • SCOSB-2.0.x - imperative, Spring MVC version of the sample app based on Spring Cloud Open Service Broker 2.0.

Getting Started

This service broker manages instances of a bookstore service.

When a service instance is provisioned, a new data structure is allocated in memory.

When a service binding is created, a URL and basic auth credentials are provided in the binding credentials. The bookstore URL and credentials can be used to add, retrieve, delete, and list books in the bookstore. Unique credentials are generated for each service binding.

See the blog post Reactive BookStore Service Broker for more information about the architecture and integration of other Spring projects within this sample app.

Build

This project requires Java 8 at a minimum.

The project is built with Gradle. The Gradle wrapper allows you to build the project on multiple platforms and even if you do not have Gradle installed; run it in place of the gradle command (as ./gradlew) from the root of the main project directory.

To compile the project and run tests

./gradlew build

Deploy

Once the project is built, it can be deployed and registered to either Cloud Foundry or Kubernetes.