mirror of
https://github.com/kubevela/kubevela.git
synced 2026-05-24 02:03:18 +00:00
57 lines
1.1 KiB
CUE
57 lines
1.1 KiB
CUE
storageclass: {
|
|
type: "trait"
|
|
annotations: {}
|
|
labels: {}
|
|
description: "Add storageclass on K8s pod for your workload which follows the pod spec in path 'spec.template'."
|
|
attributes: {
|
|
appliesToWorkloads: ["*"]
|
|
}
|
|
}
|
|
template: {
|
|
|
|
volumeClaimTemplatesList: *[
|
|
for v in parameter.volumeClaimTemplates {
|
|
{
|
|
metadata: name: v.name
|
|
spec: {
|
|
accessModes: ["ReadWriteOnce"]
|
|
resources: requests: storage: v.requests
|
|
storageClassName: v.storageClassName
|
|
}
|
|
}
|
|
},
|
|
] | []
|
|
|
|
volumeClaimTemplateVolumeMountsList: *[
|
|
for v in parameter.volumeClaimTemplates {
|
|
{
|
|
name: v.name
|
|
mountPath: v.mountPath
|
|
}
|
|
},
|
|
] | []
|
|
|
|
patch: {
|
|
// +patchKey=name
|
|
spec: {
|
|
template: spec: {
|
|
containers: [...{
|
|
// +patchKey=name
|
|
volumeMounts: volumeClaimTemplateVolumeMountsList
|
|
}]
|
|
}
|
|
// +patchKey=name
|
|
volumeClaimTemplates: volumeClaimTemplatesList
|
|
}
|
|
}
|
|
|
|
parameter: {
|
|
volumeClaimTemplates?: [...{
|
|
name: string
|
|
requests: string
|
|
storageClassName: string
|
|
mountPath: string
|
|
}]
|
|
}
|
|
}
|