github.com/oam-dev/kubevela@v1.9.11/docs/examples/traits/json-merge-patch/example.yaml (about)

     1  apiVersion: core.oam.dev/v1beta1
     2  kind: Application
     3  metadata:
     4    name: busybox
     5  spec:
     6    components:
     7      - name: busybox
     8        type: webservice
     9        properties:
    10          image: busybox
    11          cmd: ["sleep", "86400"]
    12          labels:
    13            pod-label-key: pod-label-value
    14            to-delete-label-key: to-delete-label-value
    15        traits:
    16          # the json merge patch can be used to add, replace and delete fields
    17          # the following part will
    18          # 1. add `deploy-label-key` to deployment labels
    19          # 2. set deployment replicas to 3
    20          # 3. set `pod-label-key` to `pod-label-modified-value` in pod labels
    21          # 4. delete `to-delete-label-key` in pod labels
    22          # 5. reset `containers` for pod
    23          - type: json-merge-patch
    24            properties:
    25              metadata:
    26                labels:
    27                  deploy-label-key: deploy-label-added-value
    28              spec:
    29                replicas: 3
    30                template:
    31                  metadata:
    32                    labels:
    33                      pod-label-key: pod-label-modified-value
    34                      to-delete-label-key: null
    35                  spec:
    36                    containers:
    37                      - name: busybox-new
    38                        image: busybox:1.34
    39                        command: ["sleep", "864000"]