36 lines
874 B
YAML
36 lines
874 B
YAML
|
{{- if .Values.dashboards }}
|
||
|
{{ $files := .Files }}
|
||
|
{{- range $provider, $dashboards := .Values.dashboards }}
|
||
|
apiVersion: v1
|
||
|
kind: ConfigMap
|
||
|
metadata:
|
||
|
name: {{ template "grafana.fullname" $ }}-dashboards-{{ $provider }}
|
||
|
namespace: {{ template "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 | indent 2 }}.json:
|
||
|
{{- if hasKey $value "json" }}
|
||
|
|-
|
||
|
{{ $value.json | indent 6 }}
|
||
|
{{- end }}
|
||
|
{{- if hasKey $value "file" }}
|
||
|
{{ toYaml ( $files.Get $value.file ) | indent 4}}
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
{{- if not $dashboardFound }}
|
||
|
{}
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
---
|
||
|
{{- end }}
|
||
|
|
||
|
{{- end }}
|