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.
-
Spring Framework 5.3.x
-
Spring Boot 2.4.x
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.
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.
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.
Once the project is built, it can be deployed and registered to either Cloud Foundry or Kubernetes.