Provisioned service represents a backing service CR with a reference to a
Secret resource placed in the
.status.binding.name field of the backing service CR.
As an Operator provider or the user who creates backing services, you can use this method to be compliant with the Service Binding specification, by creating a
Secret resource and referencing it in the
.status.binding.name section of the backing service CR. This
Secret resource must provide all the binding data values required for a workload to connect to the backing service.
The following examples show an
AccountService CR that represents a backing service and a
Secret resource referenced from the CR.
apiVersion: example.com/v1alpha1 kind: AccountService name: prod-account-service spec: ... status: binding: name: production-db-secret
apiVersion: v1 kind: Secret metadata: name: production-db-secret data: password: "MTBz" user: "Z3Vlc3Q=" ...
When creating a service binding resource, you can directly give the details of the
AccountService resource in the
ServiceBinding specification as follows:
apiVersion: binding.operators.coreos.com/v1alpha1 kind: ServiceBinding metadata: name: account-service spec: ... services: - group: "example.com" version: v1alpha1 kind: AccountService name: prod-account-service application: name: nodejs-app group: apps version: v1 resource: deployments
ServiceBindingresource in Specification API
apiVersion: servicebinding.io/v1beta1 kind: ServiceBinding metadata: name: account-service spec: ... service: apiVersion: example.com/v1alpha1 kind: AccountService name: prod-account-service workload: apiVersion: apps/v1 kind: Deployment name: nodejs-app
This method exposes all the keys in the
Secret resource as binding data that is to be projected into the workload.