All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
65 lines
2.4 KiB
Smarty
65 lines
2.4 KiB
Smarty
{{/*
|
|
* This component should make it easier to create sets
|
|
* of environment variables via configmaps and secrets
|
|
*/}}
|
|
{{- define "lib.component.files" -}} {{- /* define[0] */ -}}
|
|
{{- include "lib.error.noCtx" . -}}
|
|
{{- range $k, $v := .ctx.Values.config.files }} {{- /* range[0] */}}
|
|
{{- $customName := include "lib.component.file.name" (dict "ctx" $.ctx "name" $k) }}
|
|
{{- if $v.enabled }} {{- /* if[0] */}}
|
|
{{-
|
|
$labels := include "lib.metadata.mergeLabels"
|
|
(dict
|
|
"ctx" $.ctx
|
|
"global" ($.ctx.Values.metadata).labels
|
|
"local" ($v.metadata).labels
|
|
)
|
|
}}
|
|
{{-
|
|
$metadata := include "lib.metadata"
|
|
(dict
|
|
"ctx" $.ctx
|
|
"name" $customName
|
|
"annotations" $v.annotations
|
|
"labels" $labels
|
|
)
|
|
}}
|
|
{{- $entries := dict -}}
|
|
{{- range $key, $value := $v.entries }} {{- /* range[1] */}}
|
|
{{- if not (has $key ($v.remove)) }} {{- /* if[1] */}}
|
|
{{- $data := $value.data }}
|
|
{{- if and (kindIs "string" $data) ($value.convertTo) }} {{- /* if[2] */}}
|
|
{{- fail "convering is only possible for plain yaml, strings are not supported" -}}
|
|
{{- end }} {{- /* /if[2] */}}
|
|
{{- if $value.convertTo -}} {{- /* if[2] */ -}}
|
|
{{- if eq $value.convertTo "json" }} {{- /* if[3] */}}
|
|
{{- $data = include "lib.helpers.convertToJson" $data -}}
|
|
{{- else if eq $value.convertTo "toml" -}}
|
|
{{- $data = include "lib.helpers.convertToToml" $data -}}
|
|
{{- else if eq $value.convertTo "yaml" -}}
|
|
{{- $data = include "lib.helpers.convertToYaml" $data -}}
|
|
{{- else -}}
|
|
{{- fail (printf "converion to %s is not supported yet" $value.convertTo) -}}
|
|
{{- end -}} {{- /* /if[3] */ -}}
|
|
{{- end -}} {{- /* /if[2] */ -}}
|
|
{{- if not (kindIs "string" $data) -}}
|
|
{{- fail (printf "it must be a string, but it's a %s: %v" (kindOf $data) $data) -}}
|
|
{{- end -}}
|
|
{{- $_ := set $entries $key (tpl $data $.ctx) }}
|
|
{{- end }} {{- /* /if[1] */}}
|
|
{{- end }} {{- /* /range[1] */}}
|
|
{{- if $v.sensitive }} {{- /* if[1] */}}
|
|
{{ include "lib.core.secret" (dict "ctx" $ "metadata" $metadata "data" $entries) }}
|
|
{{- else }}
|
|
{{ include "lib.core.configmap" (dict "ctx" $ "metadata" $metadata "data" $entries) }}
|
|
{{- end -}} {{- /* /if[1] */}}
|
|
{{- end }} {{- /* /if[0] */}}
|
|
{{- end }} {{- /* /range[0] */}}
|
|
{{- end -}} {{- /* /define[0] */ -}}
|
|
|
|
{{- define "lib.component.file.name" -}} {{- /* define[0] */ -}}
|
|
{{- include "lib.error.noCtx" . -}}
|
|
{{- include "lib.error.noKey" (dict "ctx" . "key" "name") -}}
|
|
{{ printf "%s-%s-file" .ctx.Release.Name .name }}
|
|
{{- end -}} {{- /* /define[0] */ -}}
|