mirror of https://github.com/easzlab/kubeasz.git
53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
|
apiVersion: v1
|
||
|
kind: ConfigMap
|
||
|
metadata:
|
||
|
name: {{ template "grafana.fullname" . }}
|
||
|
labels:
|
||
|
app: {{ template "grafana.name" . }}
|
||
|
chart: {{ template "grafana.chart" . }}
|
||
|
release: {{ .Release.Name }}
|
||
|
heritage: {{ .Release.Service }}
|
||
|
data:
|
||
|
{{- with .Values.plugins }}
|
||
|
plugins: {{ . | quote }}
|
||
|
{{- end }}
|
||
|
grafana.ini: |
|
||
|
{{- range $key, $value := index .Values "grafana.ini" }}
|
||
|
[{{ $key }}]
|
||
|
{{- range $elem, $elemVal := $value }}
|
||
|
{{ $elem }} = {{ $elemVal }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
|
||
|
{{- 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
|
||
|
mkdir -p /var/lib/grafana/dashboards
|
||
|
{{- range $key, $value := .Values.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/{{ $key }}.json
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|