infra/charts/victoria-metrics-k8s-stack/templates/grafana/datasource.yaml
Konstantin Averkiev c45fd1a6ac added vm stack
2025-07-08 17:29:32 +03:00

59 lines
2.1 KiB
YAML

{{- if or (and .Values.grafana.enabled .Values.grafana.sidecar.datasources.enabled ) .Values.grafana.forceDeployDatasource }}
{{- $ctx := dict "helm" . }}
{{- $grafanaOperator := .Values.defaultDatasources.grafanaOperator }}
{{- $fullname := include "vm.fullname" $ctx }}
{{- $output := include "vm.data.sources" . | fromYaml }}
{{- if $grafanaOperator.enabled }}
{{- range $ds := $output.datasources }}
---
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDatasource
metadata:
namespace: {{ include "vm.namespace" $ }}
name: {{ $fullname }}-{{ regexReplaceAll "[-]+" (regexReplaceAll "[^\\w]" (lower $ds.name) "-") "-" | trimSuffix "-" }}
labels: {{ include "vm.labels" $ctx | nindent 4 }}
{{- with $grafanaOperator.annotations }}
annotations:
{{- range $key, $val := . }}
{{ $key }}: {{ $val | quote }}
{{- end }}
{{- end }}
{{- $spec := deepCopy $grafanaOperator.spec }}
{{- $_ := set $spec "datasource" $ds }}
{{- $_ := set $ctx "ds" $ds }}
{{- if eq (include "vm.data.source.enabled" $ctx) "false" -}}
{{- $_ := set $spec "plugins" (list (dict "name" $ds.type "version" $ds.version)) }}
{{- end }}
{{- $_ := unset $ds "version" }}
spec: {{ toYaml $spec | nindent 2 }}
{{- end }}
{{- else }}
{{- $datasources := default list }}
{{- range $ds := $output.datasources }}
{{- $_ := set $ctx "ds" $ds }}
{{- if eq (include "vm.data.source.enabled" $ctx) "true" -}}
{{- $_ := unset $ds "version" }}
{{- $datasources = append $datasources $ds }}
{{- end -}}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $fullname }}-grafana-ds
namespace: {{ include "vm.namespace" $ }}
{{- with $.Values.grafana.sidecar.datasources.annotations }}
annotations: {{ toYaml $ | nindent 4 }}
{{- end }}
labels:
{{ $.Values.grafana.sidecar.datasources.label }}: "1"
{{- $app := ((printf "%s-grafana" (include "vm.name" $ctx)) | trunc 63 | trimSuffix "-") }}
app: {{ $app }}
{{- include "vm.labels" $ctx | nindent 4 }}
data:
datasource.yaml: |-
apiVersion: 1
datasources: {{ toYaml $datasources | nindent 6 }}
{{- end }}
{{- end }}