feat: add declarative dashboard provisioning to grafana

This commit is contained in:
itumi
2026-02-11 09:40:26 +02:00
parent 4eb10a19b3
commit 8279616c83

View File

@@ -6,7 +6,7 @@ metadata:
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: grafana-datasources name: grafana-provisioning
namespace: memelord-jake namespace: memelord-jake
data: data:
datasources.yaml: | datasources.yaml: |
@@ -21,6 +21,26 @@ data:
type: loki type: loki
access: proxy access: proxy
url: http://loki.monitoring.svc.cluster.local:3100 url: http://loki.monitoring.svc.cluster.local:3100
dashboards.yaml: |
apiVersion: 1
providers:
- name: 'Default'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards
---
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-dashboards
namespace: memelord-jake
data:
log-aggregator.json: |
# PASTE YOUR DASHBOARD JSON HERE
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
@@ -109,8 +129,16 @@ spec:
volumeMounts: volumeMounts:
- name: grafana-storage - name: grafana-storage
mountPath: /var/lib/grafana mountPath: /var/lib/grafana
- name: grafana-datasources - name: grafana-provisioning
mountPath: /etc/grafana/provisioning/datasources mountPath: /etc/grafana/provisioning/datasources/datasources.yaml
subPath: datasources.yaml
readOnly: true
- name: grafana-provisioning
mountPath: /etc/grafana/provisioning/dashboards/dashboards.yaml
subPath: dashboards.yaml
readOnly: true
- name: grafana-dashboards
mountPath: /var/lib/grafana/dashboards
readOnly: true readOnly: true
readinessProbe: readinessProbe:
httpGet: httpGet:
@@ -125,9 +153,12 @@ spec:
initialDelaySeconds: 30 initialDelaySeconds: 30
periodSeconds: 10 periodSeconds: 10
volumes: volumes:
- name: grafana-datasources - name: grafana-provisioning
configMap: configMap:
name: grafana-datasources name: grafana-provisioning
- name: grafana-dashboards
configMap:
name: grafana-dashboards
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:
name: grafana-storage name: grafana-storage