Link Search Menu Expand Document

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