sandbox/charts/open-meteo-service/templates/grafana-deployment.yaml

60 lines
2.1 KiB
YAML

{{- 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 }}