TrueChartsClone/charts/incubator/teslamate/templates/_configmap.tpl

30 lines
941 B
Smarty

{{/* Define the configmap */}}
{{- define "teslamate.configmaps" -}}
{{- $rootDir := "dashboards/" -}}
{{- $dirs := dict -}}
{{- range $path, $_ := .Files.Glob (printf "%s**/*.json" $rootDir) }}
{{- $pathElements := splitList "/" $path -}}
{{- $dirName := index $pathElements 1 }}
{{- $existingFiles := get $dirs $dirName | default list -}}
{{- $updatedFiles := append $existingFiles $path -}}
{{- $_ := set $dirs $dirName $updatedFiles }}
{{- end }}
{{- range $dir, $files := $dirs }}
{{- range $files }}
{{- $fileName := lower (base .) }}
{{- $fileNameWithoutExt := trimSuffix ".json" $fileName }}
{{- $configMapKey := printf "%s-%s-%s" "dashboard" $dir $fileNameWithoutExt }}
{{ $configMapKey | quote }}:
enabled: true
annotations:
k8s-sidecar-target-directory: "TeslaMate"
labels:
grafana_dashboard: "1"
data:
{{ $fileName | quote }}: |
{{ $.Files.Get . | indent 6 }}
{{- end -}}
{{- end -}}
{{- end -}}