github.com/oam-dev/kubevela@v1.9.11/e2e/plugin/testdata/init-container.yaml (about)

     1  apiVersion: core.oam.dev/v1beta1
     2  kind: TraitDefinition
     3  metadata:
     4    annotations:
     5      definition.oam.dev/description: "add an init container with a shared volume."
     6    name: init-container
     7    namespace: vela-system
     8  spec:
     9    appliesToWorkloads:
    10      - webservice
    11      - worker
    12    schematic:
    13      cue:
    14        template: |-
    15          patch: {
    16            spec: template: spec: {
    17                // +patchKey=name
    18                containers: [{
    19                    name: context.name
    20                    // +patchKey=name
    21                    volumeMounts: [{
    22                        name:      parameter.mountName
    23                        mountPath: parameter.appMountPath
    24                    }]
    25                }]
    26                initContainers: [{
    27                    name:    parameter.name
    28                    image:   parameter.image
    29                    command: parameter.command
    30                    // +patchKey=name
    31                    volumeMounts: [{
    32                        name:      parameter.mountName
    33                        mountPath: parameter.initMountPath
    34                    }]
    35                }]
    36                // +patchKey=name
    37                volumes: [{
    38                    name:     parameter.mountName
    39                    emptyDir: {}
    40                }]
    41            }
    42          }
    43  
    44          parameter: {
    45            name:  string
    46            image: string
    47            command?: [...string]
    48            mountName:     *"workdir" | string
    49            appMountPath:  string
    50            initMountPath: string
    51          }