Env

The env trait modifies the environment variables of a component being capable of adding variables, replacing or removing them. The operation can target a container within a component.

The following snippet shows an example application with a component with two containers and the env trait removing and setting environment variables on the sidecar. For more information, check the sidecar trait documentation.

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  name: my-app
  annotations: 
    version: "v0.0.1"
    description: "My application"
spec:
  components:
    - name: busybox
      type: worker
      properties:
        image: my-app-image:v1.0.0
        cmd: ["cmd"]
      traits:
        - type: sidecar
          properties:
            name: container-name
            image: my-container-image:v1.0.0
        - type: env
          properties:
            containerName: container-name # (Optional) Specify the name of the target container, if not set, use the component name
            env: # (Required) environment variables to merge
              key_1: value_1
              key_2: value_2
            unset: ["ENV_VAR1", ..., "ENV_VARN"] # (Optional) existing variable to 
            replace: true # (Optional) replace all environment variables