title | type |
---|---|
Application Broker |
Architecture |
The Application Broker (AB) workflow consists of the following steps:
- The Application Broker watches for Applications (Apps) in the cluster and ApplicationMappings (AMs) in all Namespaces.
- The user creates an ApplicationMapping custom resource in a given Namespace. The AM activates services offered by an App. The AM must have the same name as the App.
- The Application Broker creates an
application-broker
Service Broker (SB) inside the Namespace in which the AM is created. This Service Broker contains data of all services provided by the activated Applications. There is always only oneapplication-broker
Service Broker per Namespace, even if there are more AMs. - The Service Catalog fetches services that the
application-broker
Service Broker exposes. - The Service Catalog creates a ServiceClass for each service received from the Service Broker.
When this process is complete, you can provision and bind your services.
This ServiceClass has a bindable parameter set to true
which means that you have to provision a ServiceInstance and bind it to the service or lambda to connect to the given API. The provisioning and binding workflow for an API ServiceClass consists of the following steps:
- Select an API ServiceClass from the Service Catalog.
- Provision this ServiceClass by creating its ServiceInstance in a Namespace.
- Bind your ServiceInstance to the service or lambda. During the binding process, ServiceBinding and ServiceBindingUsage resources are created.
- ServiceBinding contains a Secret with a GatewayURL required to connect to the given API.
- ServiceBindingUsage injects the Secret, together with the label given during the registration process, to the lambda or service.
- The service or lambda calls the API through the Application Connector. The Application Connector verifies the label to check if you have the authorization to access this API.
- After verifying the label, the Application Connector allows you to access the Application API.
This ServiceClass has a bindable parameter set to false
which means that after provisioning a ServiceClass in the Namespace, given Events are ready to use for all services. The provisioning workflow for an Event ServiceClass consists of the following steps:
- Select a given Event ServiceClass from the Service Catalog.
- Provision this ServiceClass by creating a ServiceInstance in the given Namespace.
- During the provisioning process, the EventActivation resource is created together with the ServiceInstance. EventActivation allows you to create an Event Bus Subscription.
- A Subscription is a custom resource by which an Event Bus triggers the lambda for a particular type of Event in this step.
- The Application sends an Event to the Application Connector.
- The Application Connector sends an Event to the lambda through the Event Bus.
This ServiceClass has a bindable parameter set to true
.
The provisioning and binding workflow for both the API and Event ServiceClass is a combination of steps described for an API ServiceClass and an Event ServiceClass.