helm-charts/charts/library/common/templates/lib/statefulset/_validate.tpl
2023-09-13 11:24:23 +02:00

23 lines
1.1 KiB
Smarty

{{/*
Validate StatefulSet values
*/}}
{{- define "bjw-s.common.lib.statefulset.validate" -}}
{{- $rootContext := .rootContext -}}
{{- $statefulsetValues := .object -}}
{{- if and (ne $statefulsetValues.strategy "OnDelete") (ne $statefulsetValues.strategy "RollingUpdate") -}}
{{- fail (printf "Not a valid strategy type for StatefulSet. (controller: %s, strategy: %s)" $statefulsetValues.identifier $statefulsetValues.strategy) -}}
{{- end -}}
{{- if not (empty (dig "statefulset" "volumeClaimTemplates" "" $statefulsetValues)) -}}
{{- range $index, $volumeClaimTemplate := $statefulsetValues.statefulset.volumeClaimTemplates -}}
{{- if empty (get . "size") -}}
{{- fail (printf "size is required for volumeClaimTemplate. (controller: %s, volumeClaimTemplate: %s)" $statefulsetValues.identifier $volumeClaimTemplate.name) -}}
{{- end -}}
{{- if empty (get . "accessMode") -}}
{{- fail (printf "accessMode is required for volumeClaimTemplate. (controller: %s, volumeClaimTemplate: %s)" $statefulsetValues.identifier $volumeClaimTemplate.name) -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}