Service binding

The service-binding trait populates environment variables with information extracted from Kubernetes secrets. These secrets can be created using the storage trait, by using a k8s-object component to render the secret, or directly with creating the Secret kubernetes entities with kubectl or with a deploy operation.

The following snippet describes an application with a component that populates environemnt variables from an existing secret.


apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  name: my-app
spec:
  components:
    - name: mysql
      type: worker
      properties:
      image: my-app-image:v1.0.0 
      traits:
      - type: service-binding # Set to service-binding
        properties:
          envMappings:
            ENV_1: # environment variable
              secret: secret-name # secret name
              key: key1  #key
            ENV_2: # environment variable
              secret: secret-name # secret name
              key: key2  #key