{{- if .Values.local.grafana.enabled }} --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: grafana-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana spec: selector: matchLabels: app: grafana template: metadata: labels: app: grafana spec: securityContext: fsGroup: 472 supplementalGroups: - 0 containers: - name: grafana image: grafana/grafana:10.0.0 imagePullPolicy: IfNotPresent ports: - containerPort: 3000 name: http-grafana protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /robots.txt port: 3000 scheme: HTTP initialDelaySeconds: 10 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 2 livenessProbe: failureThreshold: 3 initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 tcpSocket: port: 3000 timeoutSeconds: 1 resources: requests: cpu: 250m memory: 750Mi volumeMounts: - mountPath: /var/lib/grafana name: grafana-pv - mountPath: /etc/grafana/provisioning/datasources name: datasources-provisioning {{- if or (or .Values.dashboards.logs.enabled .Values.dashboards.metrics.enabled) .Values.dashboards.traces.enabled }} - mountPath: /etc/grafana/provisioning/dashboards name: dashboards-provisioning {{- end }} {{- if .Values.dashboards.logs.enabled }} - mountPath: /var/lib/grafana/dashboards/loki-1 name: loki-dashboards-1 - mountPath: /var/lib/grafana/dashboards/loki-2 name: loki-dashboards-2 {{- end }} - mountPath: /var/lib/grafana/dashboards/agent-1 name: agent-dashboards-1 volumes: - name: grafana-pv persistentVolumeClaim: claimName: grafana-pvc - name: datasources-provisioning configMap: name: datasources-provisioning - name: dashboards-provisioning configMap: name: dashboards-provisioning {{- if .Values.dashboards.logs.enabled }} - name: loki-dashboards-1 configMap: name: loki-dashboards-1 - name: loki-dashboards-2 configMap: name: loki-dashboards-2 {{- end }} - name: agent-dashboards-1 configMap: name: agent-dashboards-1 --- apiVersion: v1 kind: Service metadata: name: grafana spec: ports: - port: 3000 protocol: TCP targetPort: http-grafana selector: app: grafana sessionAffinity: None type: ClusterIP # Make this configurable {{- end }}