{{- if .Values.dashboards }}
{{ $files := .Files }}
{{- range $provider, $dashboards := .Values.dashboards }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ template "grafana.fullname" $ }}-dashboards-{{ $provider }}
  labels:
    app: {{ template "grafana.name" $ }}
    chart: {{ template "grafana.chart" $ }}
    release: {{ $.Release.Name }}
    heritage: {{ $.Release.Service }}
    dashboard-provider: {{ $provider }}
data:
{{- range $key, $value := $dashboards }}
{{- if (or (hasKey $value "json") (hasKey $value "file")) }}
{{ print $key | indent 2 }}.json:
{{- if hasKey $value "json" }}
{{ $value.json | indent 4 }}
{{- end }}
{{- if hasKey $value "file" }}
{{ toYaml ( $files.Get $value.file ) | indent 4}}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
