Skip to content

Understanding

Felix Zieger edited this page Dec 3, 2021 · 15 revisions

Understanding the UniPipe universe

The following picture shows how everything works together when offering services on a marketplace with UniPipe service broker.

A marketplace that integrates with a Service Broker

Starting from the top left the following steps are run through:

  1. The service user orders a service on the marketplace.
  2. The marketplace tells UniPipe service broker docker container that a new service instance was requested.
  3. UniPipe service broker writes a new file to the git repository. Until the status is updated in the git repository, it will report the status of the new service instance as pending.
  4. The file triggers the creation of a new service instance. After creation, the status succesful is written back to the git repository. The picture shows the case where a CI/CD pipeline has been built that acts upon service instance files. Note that you can also execute the required steps manually. This is in fact a good way to understand what your pipeline should do in the end to manage the service automatically. Working with git repositories is made easy by unipipe CLI's transform, update and browse commands.
  5. The marketplace regularly queries UniPipe service broker for status updates. It receives confirmation that the service has been provisioned successfully.
  6. The service user can use the newly created service instance.

The unipipe cli is not shown in the picture, but is an essential tool in any service owner's toolkit. It is the swiss army knife in the UniPipe universe. Use it to...

Understanding the service broker implementation

This implementation is based on Spring's Spring Cloud Open Service Broker. This library provides all controllers necessary to implement the OSB API. You only have to implement specific services and can focus on the actual implementation of your Service Broker and no details of how the API must look like exactly. The corresponding request and response objects are provided by the library.

What is the recommended way to provide multiple marketplace services with one UniPipe service broker

Every UniPipe service broker instance can manage multiple services. Start by defining services in your catalog.yml, for example by following this tutorial file. Prepare a handler.js transformation script for every service definition. In the last step, your CI/CD pipeline's job is to execute unipipe transform and finally, do what is necessary for service management, the execution scripts tutorial gives an idea on how to do that.

This is how your directory might end up looking.

Unipipe Directory Structure