github.com/oam-dev/kubevela@v1.9.11/vela-templates/definitions/deprecated/volumes.cue (about) 1 volumes: { 2 type: "trait" 3 annotations: {} 4 labels: { 5 "deprecated": "true" 6 } 7 description: "Add volumes on K8s pod for your workload which follows the pod spec in path 'spec.template'. This definition is DEPRECATED, please use 'storage' instead." 8 attributes: { 9 appliesToWorkloads: ["deployments.apps"] 10 podDisruptive: true 11 } 12 } 13 template: { 14 patch: { 15 // +patchKey=name 16 spec: template: spec: volumes: [ 17 if parameter.volumes != _|_ for v in parameter.volumes { 18 { 19 name: v.name 20 if v.type == "pvc" { 21 persistentVolumeClaim: { 22 claimName: v.claimName 23 } 24 } 25 if v.type == "configMap" { 26 configMap: { 27 defaultMode: v.defaultMode 28 name: v.cmName 29 if v.items != _|_ { 30 items: v.items 31 } 32 } 33 } 34 if v.type == "secret" { 35 secret: { 36 defaultMode: v.defaultMode 37 secretName: v.secretName 38 if v.items != _|_ { 39 items: v.items 40 } 41 } 42 } 43 if v.type == "emptyDir" { 44 emptyDir: { 45 medium: v.medium 46 } 47 } 48 } 49 }, 50 ] 51 } 52 53 parameter: { 54 // +usage=Declare volumes and volumeMounts 55 volumes?: [...{ 56 name: string 57 // +usage=Specify volume type, options: "pvc","configMap","secret","emptyDir", default to emptyDir 58 type: *"emptyDir" | "pvc" | "configMap" | "secret" 59 if type == "pvc" { 60 claimName: string 61 } 62 if type == "configMap" { 63 defaultMode: *420 | int 64 cmName: string 65 items?: [...{ 66 key: string 67 path: string 68 mode: *511 | int 69 }] 70 } 71 if type == "secret" { 72 defaultMode: *420 | int 73 secretName: string 74 items?: [...{ 75 key: string 76 path: string 77 mode: *511 | int 78 }] 79 } 80 if type == "emptyDir" { 81 medium: *"" | "Memory" 82 } 83 }] 84 } 85 86 }