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