{{/* # Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. */}} {{- if .Values.global.grafana.enabled -}} apiVersion: v1 kind: ConfigMap metadata: name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ include "common.release" . }} heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} {{- if .Values.datasources }} {{- range $key, $value := .Values.datasources }} {{ $key }}: | {{ toYaml $value | indent 4 }} {{- end -}} {{- end -}} {{- if .Values.dashboardProviders }} {{- range $key, $value := .Values.dashboardProviders }} {{ $key }}: | {{ toYaml $value | indent 4 }} {{- end -}} {{- end -}} {{- if .Values.dashboards }} download_dashboards.sh: | #!/usr/bin/env sh set -euf {{- if .Values.dashboardProviders }} {{- range $key, $value := .Values.dashboardProviders }} {{- range $value.providers }} mkdir -p {{ .options.path }} {{- end }} {{- end }} {{- end }} {{- range $provider, $dashboards := .Values.dashboards }} {{- range $key, $value := $dashboards }} {{- if (or (hasKey $value "gnetId") (hasKey $value "url")) }} curl -sk \ --connect-timeout 60 \ --max-time 60 \ -H "Accept: application/json" \ -H "Content-Type: application/json;charset=UTF-8" \ {{- 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 }} \ > /var/lib/grafana/dashboards/{{ $provider }}/{{ $key }}.json {{- end }} {{- end }} {{- end }} {{- end }} {{- if .Values.dashboards }} {{- range $provider, $dashboards := .Values.dashboards }} --- apiVersion: v1 kind: ConfigMap metadata: name: {{ include "common.fullname" $ }}-dashboards-{{ $provider }} namespace: {{ include "common.namespace" $ }} labels: app: {{ include "common.name" $ }} chart: {{ $.Chart.Name }}-{{ $.Chart.Version | replace "+" "_" }} release: {{ include "common.release" $ }} heritage: {{ $.Release.Service }} dashboard-provider: {{ $provider }} data: {{- range $key, $value := $dashboards }} {{- if hasKey $value "json" }} {{ $key }}.json: | {{ $value.json | indent 4 }} {{- end }} {{- end }} {{- end }} {{- end }} {{- end -}}