github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/clickhouse/charts/common/templates/_utils.tpl (about) 1 {{/* vim: set filetype=mustache: */}} 2 {{/* 3 Print instructions to get a secret value. 4 Usage: 5 {{ include "common.utils.secret.getvalue" (dict "secret" "secret-name" "field" "secret-value-field" "context" $) }} 6 */}} 7 {{- define "common.utils.secret.getvalue" -}} 8 {{- $varname := include "common.utils.fieldToEnvVar" . -}} 9 export {{ $varname }}=$(kubectl get secret --namespace {{ .context.Release.Namespace | quote }} {{ .secret }} -o jsonpath="{.data.{{ .field }}}" | base64 -d) 10 {{- end -}} 11 12 {{/* 13 Build env var name given a field 14 Usage: 15 {{ include "common.utils.fieldToEnvVar" dict "field" "my-password" }} 16 */}} 17 {{- define "common.utils.fieldToEnvVar" -}} 18 {{- $fieldNameSplit := splitList "-" .field -}} 19 {{- $upperCaseFieldNameSplit := list -}} 20 21 {{- range $fieldNameSplit -}} 22 {{- $upperCaseFieldNameSplit = append $upperCaseFieldNameSplit ( upper . ) -}} 23 {{- end -}} 24 25 {{ join "_" $upperCaseFieldNameSplit }} 26 {{- end -}} 27 28 {{/* 29 Gets a value from .Values given 30 Usage: 31 {{ include "common.utils.getValueFromKey" (dict "key" "path.to.key" "context" $) }} 32 */}} 33 {{- define "common.utils.getValueFromKey" -}} 34 {{- $splitKey := splitList "." .key -}} 35 {{- $value := "" -}} 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 -}} 40 {{- end -}} 41 {{- $value = ( index $latestObj . ) -}} 42 {{- $latestObj = $value -}} 43 {{- end -}} 44 {{- printf "%v" (default "" $value) -}} 45 {{- end -}} 46 47 {{/* 48 Returns first .Values key with a defined value or first of the list if all non-defined 49 Usage: 50 {{ include "common.utils.getKeyFromList" (dict "keys" (list "path.to.key1" "path.to.key2") "context" $) }} 51 */}} 52 {{- define "common.utils.getKeyFromList" -}} 53 {{- $key := first .keys -}} 54 {{- $reverseKeys := reverse .keys }} 55 {{- range $reverseKeys }} 56 {{- $value := include "common.utils.getValueFromKey" (dict "key" . "context" $.context ) }} 57 {{- if $value -}} 58 {{- $key = . }} 59 {{- end -}} 60 {{- end -}} 61 {{- printf "%s" $key -}} 62 {{- end -}}