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

34 lines
1 KiB
Smarty

{{- /*
Returns the value for the specified field
*/ -}}
{{- define "bjw-s.common.lib.pod.getOption" -}}
{{- $rootContext := .ctx.rootContext -}}
{{- $controllerObject := .ctx.controllerObject -}}
{{- $option := .option -}}
{{- $value := "" -}}
{{- /* Set to the default if it is set */ -}}
{{- $defaultOption := get $rootContext.Values.defaultPodOptions $option -}}
{{- if kindIs "bool" $defaultOption -}}
{{- $value = $defaultOption -}}
{{- else if not (empty $defaultOption) -}}
{{- $value = $defaultOption -}}
{{- end -}}
{{- /* See if a pod-specific override is needed */ -}}
{{- if hasKey $controllerObject "pod" -}}
{{- $podOption := get $controllerObject.pod $option -}}
{{- if kindIs "bool" $podOption -}}
{{- $value = $podOption -}}
{{- else if not (empty $podOption) -}}
{{- $value = $podOption -}}
{{- end -}}
{{- end -}}
{{- if kindIs "bool" $value -}}
{{- $value | toYaml -}}
{{- else if not (empty $value) -}}
{{- $value | toYaml -}}
{{- end -}}
{{- end -}}