helm-charts/charts/library/common/templates/lib/pod/metadata/_annotations.tpl
Bernd Schorgers 4a5f448abd
feat(common): Release 3.2.0 (#318)
Signed-off-by: Gavin Mogan <git@gavinmogan.com>
Co-authored-by: Gavin Mogan <git@gavinmogan.com>
Co-authored-by: repo-duster[bot] <87358111+repo-duster[bot]@users.noreply.github.com>
2024-05-23 09:54:12 +00:00

72 lines
2.5 KiB
Smarty

{{- /*
Returns the value for annotations
*/ -}}
{{- define "bjw-s.common.lib.pod.metadata.annotations" -}}
{{- $rootContext := .rootContext -}}
{{- $controllerObject := .controllerObject -}}
{{- /* Default annotations */ -}}
{{- $annotations := dict -}}
{{- /* Set to the default if it is set */ -}}
{{- $defaultOption := get (default dict $rootContext.Values.defaultPodOptions) "annotations" -}}
{{- if not (empty $defaultOption) -}}
{{- $annotations = merge $defaultOption $annotations -}}
{{- end -}}
{{- /* See if a pod-specific override is set */ -}}
{{- if hasKey $controllerObject "pod" -}}
{{- $podOption := get $controllerObject.pod "annotations" -}}
{{- if not (empty $podOption) -}}
{{- $annotations = merge $podOption $annotations -}}
{{- end -}}
{{- end -}}
{{- /* Add configMaps checksum */ -}}
{{- $configMapsFound := dict -}}
{{- range $name, $configmap := $rootContext.Values.configMaps -}}
{{- $configMapEnabled := true -}}
{{- if hasKey $configmap "enabled" -}}
{{- $configMapEnabled = $configmap.enabled -}}
{{- end -}}
{{- $configMapIncludeInChecksum := true -}}
{{- if hasKey $configmap "includeInChecksum" -}}
{{- $configMapIncludeInChecksum = $configmap.includeInChecksum -}}
{{- end -}}
{{- if and $configMapEnabled $configMapIncludeInChecksum -}}
{{- $_ := set $configMapsFound $name (toYaml $configmap.data | sha256sum) -}}
{{- end -}}
{{- end -}}
{{- if $configMapsFound -}}
{{- $annotations = merge
(dict "checksum/configMaps" (toYaml $configMapsFound | sha256sum))
$annotations
-}}
{{- end -}}
{{- /* Add Secrets checksum */ -}}
{{- $secretsFound := dict -}}
{{- range $name, $secret := $rootContext.Values.secrets -}}
{{- $secretEnabled := true -}}
{{- if hasKey $secret "enabled" -}}
{{- $secretEnabled = $secret.enabled -}}
{{- end -}}
{{- $secretIncludeInChecksum := true -}}
{{- if hasKey $secret "includeInChecksum" -}}
{{- $secretIncludeInChecksum = $secret.includeInChecksum -}}
{{- end -}}
{{- if and $secretEnabled $secretIncludeInChecksum -}}
{{- $_ := set $secretsFound $name (toYaml $secret.stringData | sha256sum) -}}
{{- end -}}
{{- end -}}
{{- if $secretsFound -}}
{{- $annotations = merge
(dict "checksum/secrets" (toYaml $secretsFound | sha256sum))
$annotations
-}}
{{- end -}}
{{- if not (empty $annotations) -}}
{{- $annotations | toYaml -}}
{{- end -}}
{{- end -}}