mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 00:47:04 +02:00
Signed-off-by: solidDoWant <fred.heinecke@yahoo.com> Co-authored-by: Patrick Collins <Patricol@users.noreply.github.com> Co-authored-by: Patrick Collins <patrick.collins@gainbridge.io> Co-authored-by: Lawrence Gil <larrywtf609@gmail.com> Co-authored-by: solidDoWant <fred.heinecke@yahoo.com>
31 lines
1.3 KiB
Smarty
31 lines
1.3 KiB
Smarty
{{/*
|
|
Validate configMap values
|
|
*/}}
|
|
{{- define "bjw-s.common.lib.configMap.validate" -}}
|
|
{{- $rootContext := .rootContext -}}
|
|
{{- $configMapValues := .object -}}
|
|
{{- $identifier := .id -}}
|
|
|
|
{{- if empty $configMapValues -}}
|
|
{{- fail (printf "There was an error loading ConfigMap: %s. If it was automatically generated from a folder verify that files are properly flagged as `binary` or `escaped`" $identifier) -}}
|
|
{{- end -}}
|
|
{{- if and (empty (get $configMapValues "data")) (empty (get $configMapValues "binaryData")) -}}
|
|
{{- fail (printf "No data or binaryData specified for configMap. (configMap: %s)" $configMapValues.identifier) }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Validate configMap from folder values
|
|
*/}}
|
|
{{- define "bjw-s.common.lib.configMap.fromFolder.validate" -}}
|
|
{{- $rootContext := .rootContext -}}
|
|
{{- $basePath := required "If you're using `configMapsFromFolder` you need to specify a `basePath` key" .basePath -}}
|
|
{{ $topLevelFolders := dict}}
|
|
{{- range $path, $_ := $rootContext.Files.Glob (printf "%s/*/*" $basePath) -}}
|
|
{{- $_ := set $topLevelFolders (dir $path) "" -}}
|
|
{{- end -}}
|
|
{{- $topLevelFoldersList := keys $topLevelFolders | sortAlpha -}}
|
|
{{- if empty $topLevelFoldersList -}}
|
|
{{- fail (printf "No configMaps found in the folder %s" $basePath) }}
|
|
{{- end -}}
|
|
{{- end -}}
|