Provisioned service
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.
AccountService CRapiVersion: example.com/v1alpha1
kind: AccountService
name: prod-account-service
spec:
...
status:
binding:
name: production-db-secret
Secret resourceapiVersion: 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:
ServiceBinding resourceapiVersion: 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
ServiceBinding resource in Specification APIapiVersion: 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 production-db-secret referenced Secret resource as binding data that is to be projected into the workload.