81 lines
2.6 KiB
Smarty
81 lines
2.6 KiB
Smarty
{{/*
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
`SPDX-License-Identifier: Apache-2.0`
|
|
|
|
This file is considered to be modified by the TrueCharts Project.
|
|
*/}}
|
|
|
|
{{/* vim: set filetype=mustache: */}}
|
|
{{/*
|
|
Print instructions to get a secret value.
|
|
Usage:
|
|
{{ include "common.utils.secret.getvalue" (dict "secret" "secret-name" "field" "secret-value-field" "context" $) }}
|
|
*/}}
|
|
{{- define "common.utils.secret.getvalue" -}}
|
|
{{- $varname := include "common.utils.fieldToEnvVar" . -}}
|
|
export {{ $varname }}=$(kubectl get secret --namespace {{ .context.Release.Namespace | quote }} {{ .secret }} -o jsonpath="{.data.{{ .field }}}" | base64 --decode)
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Build env var name given a field
|
|
Usage:
|
|
{{ include "common.utils.fieldToEnvVar" dict "field" "my-password" }}
|
|
*/}}
|
|
{{- define "common.utils.fieldToEnvVar" -}}
|
|
{{- $fieldNameSplit := splitList "-" .field -}}
|
|
{{- $upperCaseFieldNameSplit := list -}}
|
|
|
|
{{- range $fieldNameSplit -}}
|
|
{{- $upperCaseFieldNameSplit = append $upperCaseFieldNameSplit ( upper . ) -}}
|
|
{{- end -}}
|
|
|
|
{{ join "_" $upperCaseFieldNameSplit }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Gets a value from .Values given
|
|
Usage:
|
|
{{ include "common.utils.getValueFromKey" (dict "key" "path.to.key" "context" $) }}
|
|
*/}}
|
|
{{- define "common.utils.getValueFromKey" -}}
|
|
{{- $splitKey := splitList "." .key -}}
|
|
{{- $value := "" -}}
|
|
{{- $latestObj := $.context.Values -}}
|
|
{{- range $splitKey -}}
|
|
{{- if not $latestObj -}}
|
|
{{- printf "please review the entire path of '%s' exists in values" $.key | fail -}}
|
|
{{- end -}}
|
|
{{- $value = ( index $latestObj . ) -}}
|
|
{{- $latestObj = $value -}}
|
|
{{- end -}}
|
|
{{- printf "%v" (default "" $value) -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Returns first .Values key with a defined value or first of the list if all non-defined
|
|
Usage:
|
|
{{ include "common.utils.getKeyFromList" (dict "keys" (list "path.to.key1" "path.to.key2") "context" $) }}
|
|
*/}}
|
|
{{- define "common.utils.getKeyFromList" -}}
|
|
{{- $key := first .keys -}}
|
|
{{- $reverseKeys := reverse .keys }}
|
|
{{- range $reverseKeys }}
|
|
{{- $value := include "common.utils.getValueFromKey" (dict "key" . "context" $.context ) }}
|
|
{{- if $value -}}
|
|
{{- $key = . }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- printf "%s" $key -}}
|
|
{{- end -}}
|