{{- if .Values.dashboards }} {{ $files := .Files }} {{- range $provider, $dashboards := .Values.dashboards }} apiVersion: v1 kind: ConfigMap metadata: name: {{ include "grafana.fullname" $ }}-dashboards-{{ $provider }} namespace: {{ include "grafana.namespace" $ }} labels: {{- include "grafana.labels" $ | nindent 4 }} dashboard-provider: {{ $provider }} {{- if $dashboards }} data: {{- $dashboardFound := false }} {{- range $key, $value := $dashboards }} {{- if (or (hasKey $value "json") (hasKey $value "file")) }} {{- $dashboardFound = true }} {{- print $key | nindent 2 }}.json: {{- if hasKey $value "json" }} |- {{- $value.json | nindent 6 }} {{- end }} {{- if hasKey $value "file" }} {{- toYaml ( $files.Get $value.file ) | nindent 4}} {{- end }} {{- end }} {{- end }} {{- if not $dashboardFound }} {} {{- end }} {{- end }} --- {{- end }} {{- end }}