{{- if .Values.grafana.enabled }} apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "open-meteo-service.grafanaFullname" . }} labels: {{- include "open-meteo-service.labels" . | nindent 4 }} app.kubernetes.io/component: grafana spec: replicas: {{ .Values.grafana.replicaCount }} selector: matchLabels: app.kubernetes.io/name: {{ include "open-meteo-service.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: grafana template: metadata: labels: {{- include "open-meteo-service.labels" . | nindent 8 }} app.kubernetes.io/component: grafana spec: containers: - name: grafana image: {{ .Values.grafana.image | quote }} ports: - name: http containerPort: {{ .Values.grafana.service.port }} protocol: TCP env: - name: GF_SECURITY_ADMIN_USER value: {{ .Values.grafana.adminUser | quote }} - name: GF_SECURITY_ADMIN_PASSWORD value: {{ .Values.grafana.adminPassword | quote }} volumeMounts: - name: grafana-config mountPath: /etc/grafana/provisioning/datasources/datasource.yml subPath: datasource.yml - name: grafana-config mountPath: /etc/grafana/provisioning/dashboards/dashboard.yml subPath: dashboard.yml - name: grafana-config mountPath: /var/lib/grafana/dashboards/open-meteo-service.json subPath: open-meteo-service.json - name: grafana-data mountPath: /var/lib/grafana resources: {{- toYaml .Values.grafana.resources | nindent 12 }} volumes: - name: grafana-config configMap: name: {{ include "open-meteo-service.grafanaFullname" . }}-config - name: grafana-data {{- if .Values.grafana.persistence.enabled }} persistentVolumeClaim: claimName: {{ include "open-meteo-service.grafanaFullname" . }} {{- else }} emptyDir: {} {{- end }} {{- end }}