From fd8a770789ebcb1997aae4a117e2a0319cc717b4 Mon Sep 17 00:00:00 2001 From: rjshrjndrn Date: Thu, 30 Jun 2022 14:03:10 +0200 Subject: [PATCH] chore(helm): dynamic dashboard creation Ref: https://github.com/helm/helm/issues/4157#issuecomment-490748085 Signed-off-by: rjshrjndrn --- .../{ => backend}/openreplay-components.json | 0 .../dashboards/{ => nginx}/nginx-ingress.json | 0 .../{ => nginx}/nginx-performance.json | 0 .../observability/templates/dashboard.yaml | 21 ++++++++++++------- 4 files changed, 13 insertions(+), 8 deletions(-) rename ee/scripts/helmcharts/manifests/observability/dashboards/{ => backend}/openreplay-components.json (100%) rename ee/scripts/helmcharts/manifests/observability/dashboards/{ => nginx}/nginx-ingress.json (100%) rename ee/scripts/helmcharts/manifests/observability/dashboards/{ => nginx}/nginx-performance.json (100%) diff --git a/ee/scripts/helmcharts/manifests/observability/dashboards/openreplay-components.json b/ee/scripts/helmcharts/manifests/observability/dashboards/backend/openreplay-components.json similarity index 100% rename from ee/scripts/helmcharts/manifests/observability/dashboards/openreplay-components.json rename to ee/scripts/helmcharts/manifests/observability/dashboards/backend/openreplay-components.json diff --git a/ee/scripts/helmcharts/manifests/observability/dashboards/nginx-ingress.json b/ee/scripts/helmcharts/manifests/observability/dashboards/nginx/nginx-ingress.json similarity index 100% rename from ee/scripts/helmcharts/manifests/observability/dashboards/nginx-ingress.json rename to ee/scripts/helmcharts/manifests/observability/dashboards/nginx/nginx-ingress.json diff --git a/ee/scripts/helmcharts/manifests/observability/dashboards/nginx-performance.json b/ee/scripts/helmcharts/manifests/observability/dashboards/nginx/nginx-performance.json similarity index 100% rename from ee/scripts/helmcharts/manifests/observability/dashboards/nginx-performance.json rename to ee/scripts/helmcharts/manifests/observability/dashboards/nginx/nginx-performance.json diff --git a/ee/scripts/helmcharts/manifests/observability/templates/dashboard.yaml b/ee/scripts/helmcharts/manifests/observability/templates/dashboard.yaml index 8e58a0f07..ec439af89 100644 --- a/ee/scripts/helmcharts/manifests/observability/templates/dashboard.yaml +++ b/ee/scripts/helmcharts/manifests/observability/templates/dashboard.yaml @@ -1,15 +1,20 @@ ---- +# Ref: https://github.com/helm/helm/issues/4157#issuecomment-490748085 +{{- $processedDict := dict -}} +{{- range $path, $bytes := .Files.Glob "dashboards/**" }} +{{- $name := base (dir $path) }} +{{- if not (hasKey $processedDict $name) -}} +{{ $_ := set $processedDict $name "true" }} apiVersion: v1 -data: - {{- (.Files.Glob "dashboards/nginx*").AsConfig | nindent 2 }} kind: ConfigMap metadata: - annotations: - meta.helm.sh/release-name: observability - meta.helm.sh/release-namespace: observability + name: dashboard-{{ $name }} + namespace: observability labels: app: kube-prometheus-stack-grafana grafana_dashboard: "1" release: observability - name: nginx-metrics - namespace: observability +data: +{{ ($.Files.Glob (printf "dashboards/%s/*" $name)).AsConfig | indent 2 }} +--- +{{- end }} +{{- end }}