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  }