1 {{/* vim: set filetype=mustache: */}}
3 Print instructions to get a secret value.
5 {{ include "common.utils.secret.getvalue" (dict "secret" "secret-name" "field" "secret-value-field" "context" $) }}
7 {{- define "common.utils.secret.getvalue" -}}
8 {{- $varname := include "common.utils.fieldToEnvVar" . -}}
9 export {{ $varname }}=$(kubectl get secret --namespace {{ .context.Release.Namespace }} {{ .secret }} -o jsonpath="{.data.{{ .field }}}" | base64 --decode)
13 Build env var name given a field
15 {{ include "common.utils.fieldToEnvVar" dict "field" "my-password" }}
17 {{- define "common.utils.fieldToEnvVar" -}}
18 {{- $fieldNameSplit := splitList "-" .field -}}
19 {{- $upperCaseFieldNameSplit := list -}}
21 {{- range $fieldNameSplit -}}
22 {{- $upperCaseFieldNameSplit = append $upperCaseFieldNameSplit ( upper . ) -}}
25 {{ join "_" $upperCaseFieldNameSplit }}
29 Gets a value from .Values given
31 {{ include "common.utils.getValueFromKey" (dict "key" "path.to.key" "context" $) }}
33 {{- define "common.utils.getValueFromKey" -}}
34 {{- $splitKey := splitList "." .key -}}
36 {{- $latestObj := $.context.Values -}}
37 {{- range $splitKey -}}
38 {{- if not $latestObj -}}
39 {{- printf "please review the entire path of '%s' exists in values" $.key | fail -}}
41 {{- $value = ( index $latestObj . ) -}}
42 {{- $latestObj = $value -}}
44 {{- printf "%v" (default "" $value) -}}