Collectd operator utilties
[demo.git] / vnfs / DAaaS / visualization / charts / grafana / templates / configmap.yaml
1 apiVersion: v1
2 kind: ConfigMap
3 metadata:
4   name: {{ template "grafana.fullname" . }}
5   labels:
6     app: {{ template "grafana.name" . }}
7     chart: {{ template "grafana.chart" . }}
8     release: {{ .Release.Name }}
9     heritage: {{ .Release.Service }}
10 data:
11 {{- if .Values.plugins }}
12   plugins: {{ join "," .Values.plugins }}
13 {{- end }}
14   grafana.ini: |
15 {{- range $key, $value := index .Values "grafana.ini" }}
16     [{{ $key }}]
17     {{- range $elem, $elemVal := $value }}
18     {{ $elem }} = {{ $elemVal }}
19     {{- end }}
20 {{- end }}
21
22 {{- if .Values.datasources }}
23 {{ $root := . }}
24   {{- range $key, $value := .Values.datasources }}
25   {{ $key }}: |
26 {{ tpl (toYaml $value | indent 4) $root }}
27   {{- end -}}
28 {{- end -}}
29
30 {{- if .Values.notifiers }}
31   {{- range $key, $value := .Values.notifiers }}
32   {{ $key }}: |
33 {{ toYaml $value | indent 4 }}
34   {{- end -}}
35 {{- end -}}
36
37 {{- if .Values.dashboardProviders }}
38   {{- range $key, $value := .Values.dashboardProviders }}
39   {{ $key }}: |
40 {{ toYaml $value | indent 4 }}
41   {{- end -}}
42 {{- end -}}
43
44 {{- if .Values.dashboards  }}
45   download_dashboards.sh: |
46     #!/usr/bin/env sh
47     set -euf
48     {{- if .Values.dashboardProviders }}
49       {{- range $key, $value := .Values.dashboardProviders }}
50         {{- range $value.providers }}
51     mkdir -p {{ .options.path }}
52         {{- end }}
53       {{- end }}
54     {{- end }}
55
56   {{- range $provider, $dashboards := .Values.dashboards }}
57     {{- range $key, $value := $dashboards }}
58       {{- if (or (hasKey $value "gnetId") (hasKey $value "url")) }}
59     curl -sk \
60     --connect-timeout 60 \
61     --max-time 60 \
62       {{- if not $value.b64content }}
63     -H "Accept: application/json" \
64     -H "Content-Type: application/json;charset=UTF-8" \
65       {{- end }}
66     {{- if $value.url -}}{{ $value.url }}{{- else -}} https://grafana.com/api/dashboards/{{ $value.gnetId }}/revisions/{{- if $value.revision -}}{{ $value.revision }}{{- else -}}1{{- end -}}/download{{- end -}}{{ if $value.datasource }}| sed 's|\"datasource\":[^,]*|\"datasource\": \"{{ $value.datasource }}\"|g'{{ end }}{{- if $value.b64content -}} | base64 -d {{- end -}} \
67     > /var/lib/grafana/dashboards/{{ $provider }}/{{ $key }}.json
68       {{- end -}}
69     {{- end }}
70   {{- end }}
71 {{- end }}