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 }