From d8e40b6d32d513c8ef7fac3d76c4eb5ea8fbc5c4 Mon Sep 17 00:00:00 2001 From: Dragomir Veselinovic Date: Wed, 24 Jul 2024 15:19:51 +0200 Subject: [PATCH 1/3] feat: adds multi-org support to sidecar dashboards Signed-off-by: Dragomir Veselinovic --- charts/grafana/Chart.yaml | 2 +- charts/grafana/templates/_config.tpl | 43 ++++++++++++++++++++-------- charts/grafana/values.yaml | 36 +++++++++++------------ 3 files changed, 48 insertions(+), 33 deletions(-) diff --git a/charts/grafana/Chart.yaml b/charts/grafana/Chart.yaml index 3b3bbdbf9d..6dad6e875d 100644 --- a/charts/grafana/Chart.yaml +++ b/charts/grafana/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: grafana -version: 8.3.6 +version: 8.4.0 appVersion: 11.1.0 kubeVersion: "^1.8.0-0" description: The leading tool for querying and visualizing time series and metrics. diff --git a/charts/grafana/templates/_config.tpl b/charts/grafana/templates/_config.tpl index b866217f2e..199a81a146 100644 --- a/charts/grafana/templates/_config.tpl +++ b/charts/grafana/templates/_config.tpl @@ -139,22 +139,41 @@ download_dashboards.sh: | Generate dashboard json config map data */}} {{- define "grafana.configDashboardProviderData" -}} +{{- $values := .Values -}} provider.yaml: |- apiVersion: 1 providers: - - name: '{{ .Values.sidecar.dashboards.provider.name }}' - orgId: {{ .Values.sidecar.dashboards.provider.orgid }} - {{- if not .Values.sidecar.dashboards.provider.foldersFromFilesStructure }} - folder: '{{ .Values.sidecar.dashboards.provider.folder }}' - folderUid: '{{ .Values.sidecar.dashboards.provider.folderUid }}' + {{- if .Values.sidecar.dashboards.provider }} + {{- with .Values.sidecar.dashboards.provider }} + - name: '{{ .name }}' + orgId: {{ .orgid }} + {{- if not .foldersFromFilesStructure }} + folder: '{{ .folder }}' + folderUid: '{{ .folderUid }}' {{- end }} - type: {{ .Values.sidecar.dashboards.provider.type }} - disableDeletion: {{ .Values.sidecar.dashboards.provider.disableDelete }} - allowUiUpdates: {{ .Values.sidecar.dashboards.provider.allowUiUpdates }} - updateIntervalSeconds: {{ .Values.sidecar.dashboards.provider.updateIntervalSeconds | default 30 }} + type: {{ .type }} + disableDeletion: {{ .disableDelete }} + allowUiUpdates: {{ .allowUiUpdates }} + updateIntervalSeconds: {{ .updateIntervalSeconds | default 30 }} options: - foldersFromFilesStructure: {{ .Values.sidecar.dashboards.provider.foldersFromFilesStructure }} - path: {{ .Values.sidecar.dashboards.folder }}{{- with .Values.sidecar.dashboards.defaultFolderName }}/{{ . }}{{- end }} + foldersFromFilesStructure: {{ .foldersFromFilesStructure }} + path: {{ $values.sidecar.dashboards.folder }}{{- with $values.sidecar.dashboards.defaultFolderName }}/{{ . }}{{- end }} + {{- end }} + {{- end }} + {{- if .Values.sidecar.dashboards.providers }} + {{- range .Values.sidecar.dashboards.providers }} + - name: '{{ .name }}' + orgId: {{ .orgid | default 1 }} + folder: '{{ .folder | default .name }}' + type: {{ .type | default "file" }} + disableDeletion: {{ .disableDelete | default "false" }} + allowUiUpdates: {{ .allowUiUpdates | default "false"}} + updateIntervalSeconds: {{ .updateIntervalSeconds | default 30 }} + options: + foldersFromFilesStructure: {{ .foldersFromFilesStructure | default false}} + path: {{ $values.sidecar.dashboards.folder }}{{- with $values.sidecar.dashboards.defaultFolderName }}/{{ . }}{{- end }}{{- with .folder }}/{{ . }}{{- end }} + {{- end }} + {{- end }} {{- end -}} {{- define "grafana.secretsData" -}} @@ -169,4 +188,4 @@ admin-password: {{ include "grafana.password" . }} {{- if not .Values.ldap.existingSecret }} ldap-toml: {{ tpl .Values.ldap.config $ | b64enc | quote }} {{- end }} -{{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/grafana/values.yaml b/charts/grafana/values.yaml index 0390f78fdd..49e2b3ee06 100644 --- a/charts/grafana/values.yaml +++ b/charts/grafana/values.yaml @@ -859,7 +859,7 @@ sidecar: # -- The Docker registry registry: quay.io repository: kiwigrid/k8s-sidecar - tag: 1.27.4 + tag: 1.26.1 sha: "" imagePullPolicy: IfNotPresent resources: {} @@ -981,24 +981,20 @@ sidecar: # defaults to 66sec (sic!) # watchClientTimeout: 60 # - # provider configuration that lets grafana manage the dashboards - provider: - # name of the provider, should be unique - name: sidecarProvider - # orgid as configured in grafana - orgid: 1 - # folder in which the dashboards should be imported in grafana - folder: '' - # folder UID. will be automatically generated if not specified - folderUid: '' - # type of the provider - type: file - # disableDelete to activate a import-only behaviour - disableDelete: false - # allow updating provisioned dashboards from the UI - allowUiUpdates: false - # allow Grafana to replicate dashboard structure from filesystem - foldersFromFilesStructure: false + # providers configuration that lets grafana manage the dashboards + providers: + - name: sidecarProvider # name of the provider, should be unique + orgid: 1 # orgid as configured in grafana + # optional: folder in which the dashboards should be imported in grafana defaults to 'name' of provider + # folder: '' + # optional: type of the provider, defaults to "file" + # type: file + # optional disableDelete to activate a import-only behaviour, defaults to false + # disableDelete: false + # optional: allow updating provisioned dashboards from the UI, defaults to false + # allowUiUpdates: false + # optional allow Grafana to replicate dashboard structure from filesystem, defaults to false + # foldersFromFilesStructure: false # Additional dashboard sidecar volume mounts extraMounts: [] # Sets the size limit of the dashboard sidecar emptyDir volume @@ -1377,4 +1373,4 @@ extraObjects: [] # # Alternatively, if you wish to allow secret values to be exposed in the rendered grafana.ini configmap, # you can disable this check by setting assertNoLeakedSecrets to false. -assertNoLeakedSecrets: true +assertNoLeakedSecrets: true \ No newline at end of file From b62b22944190b4dea991360fd980f013dec50175 Mon Sep 17 00:00:00 2001 From: Dragomir Veselinovic Date: Wed, 24 Jul 2024 15:40:11 +0200 Subject: [PATCH 2/3] feat: adds multi-org support to sidecar dashboards Signed-off-by: Dragomir Veselinovic --- charts/grafana/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/grafana/values.yaml b/charts/grafana/values.yaml index 49e2b3ee06..e4ea621754 100644 --- a/charts/grafana/values.yaml +++ b/charts/grafana/values.yaml @@ -859,7 +859,7 @@ sidecar: # -- The Docker registry registry: quay.io repository: kiwigrid/k8s-sidecar - tag: 1.26.1 + tag: 1.27.4 sha: "" imagePullPolicy: IfNotPresent resources: {} From 1925bc3ae16c47833cc3bf67278b9ca0fe340043 Mon Sep 17 00:00:00 2001 From: MH Date: Sat, 3 Aug 2024 09:21:21 +0800 Subject: [PATCH 3/3] Update values.yaml Signed-off-by: MH Signed-off-by: MH --- charts/grafana/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/grafana/values.yaml b/charts/grafana/values.yaml index 00935dc07b..66762078eb 100644 --- a/charts/grafana/values.yaml +++ b/charts/grafana/values.yaml @@ -1375,4 +1375,4 @@ extraObjects: [] # # Alternatively, if you wish to allow secret values to be exposed in the rendered grafana.ini configmap, # you can disable this check by setting assertNoLeakedSecrets to false. -assertNoLeakedSecrets: true \ No newline at end of file +assertNoLeakedSecrets: true