github.com/oam-dev/kubevela@v1.9.11/docs/examples/envbinding/example.yaml (about)

     1  apiVersion: core.oam.dev/v1beta1
     2  kind: Application
     3  metadata:
     4    name: example-app
     5    namespace: default
     6  spec:
     7    components:
     8      - name: hello-world-server
     9        type: webservice
    10        properties:
    11          image: crccheck/hello-world
    12          port: 8000
    13        traits:
    14          - type: scaler
    15            properties:
    16              replicas: 1
    17      - name: data-worker
    18        type: worker
    19        properties:
    20          image: busybox
    21          cmd:
    22            - sleep
    23            - '1000000'
    24    policies:
    25      - name: example-multi-env-policy
    26        type: env-binding
    27        properties:
    28          envs:
    29            - name: test
    30              placement: # selecting the namespace (in local cluster) to deploy to
    31                namespaceSelector:
    32                  name: test
    33              selector:
    34                components:
    35                  - data-worker
    36  
    37            - name: staging
    38              placement: # selecting the cluster to deploy to
    39                clusterSelector:
    40                  name: cluster-worker
    41  
    42            - name: prod
    43              placement: # selecting both namespace and cluster to deploy to
    44                clusterSelector:
    45                  name: cluster-worker
    46                namespaceSelector:
    47                  name: prod
    48              patch: # overlay patch on above components
    49                components:
    50                  - name: hello-world-server
    51                    type: webservice
    52                    traits:
    53                      - type: scaler
    54                        properties:
    55                          replicas: 3
    56  
    57    workflow:
    58      steps:
    59        # deploy to test env
    60        - name: deploy-test
    61          type: deploy2env
    62          properties:
    63            policy: example-multi-env-policy
    64            env: test
    65  
    66        # deploy to staging env
    67        - name: deploy-staging
    68          type: deploy2env
    69          properties:
    70            policy: example-multi-env-policy
    71            env: staging
    72  
    73        # deploy to prod env
    74        - name: deploy-prod
    75          type: deploy2env
    76          properties:
    77            policy: example-multi-env-policy
    78            env: prod