12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115 |
- {{- define "grafana.pod" -}}
- {{- if .Values.schedulerName }}
- schedulerName: "{{ .Values.schedulerName }}"
- {{- end }}
- serviceAccountName: {{ template "grafana.serviceAccountName" . }}
- automountServiceAccountToken: {{ .Values.serviceAccount.autoMount }}
- {{- with .Values.securityContext }}
- securityContext:
- {{- toYaml . | nindent 2 }}
- {{- end }}
- {{- with .Values.hostAliases }}
- hostAliases:
- {{- toYaml . | nindent 2 }}
- {{- end }}
- {{- if .Values.priorityClassName }}
- priorityClassName: {{ .Values.priorityClassName }}
- {{- end }}
- {{- if ( or .Values.persistence.enabled .Values.dashboards .Values.extraInitContainers (and .Values.sidecar.datasources.enabled .Values.sidecar.datasources.initDatasources) (and .Values.sidecar.notifiers.enabled .Values.sidecar.notifiers.initNotifiers)) }}
- initContainers:
- {{- end }}
- {{- if ( and .Values.persistence.enabled .Values.initChownData.enabled ) }}
- - name: init-chown-data
- {{- if .Values.initChownData.image.sha }}
- image: "{{ .Values.initChownData.image.repository }}:{{ .Values.initChownData.image.tag }}@sha256:{{ .Values.initChownData.image.sha }}"
- {{- else }}
- image: "{{ .Values.initChownData.image.repository }}:{{ .Values.initChownData.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.initChownData.image.pullPolicy }}
- {{- with .Values.initChownData.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- command: ["chown", "-R", "{{ .Values.securityContext.runAsUser }}:{{ .Values.securityContext.runAsGroup }}", "/var/lib/grafana"]
- {{- with .Values.initChownData.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: storage
- mountPath: "/var/lib/grafana"
- {{- if .Values.persistence.subPath }}
- subPath: {{ tpl .Values.persistence.subPath . }}
- {{- end }}
- {{- end }}
- {{- if .Values.dashboards }}
- - name: download-dashboards
- {{- if .Values.downloadDashboardsImage.sha }}
- image: "{{ .Values.downloadDashboardsImage.repository }}:{{ .Values.downloadDashboardsImage.tag }}@sha256:{{ .Values.downloadDashboardsImage.sha }}"
- {{- else }}
- image: "{{ .Values.downloadDashboardsImage.repository }}:{{ .Values.downloadDashboardsImage.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.downloadDashboardsImage.pullPolicy }}
- command: ["/bin/sh"]
- args: [ "-c", "mkdir -p /var/lib/grafana/dashboards/default && /bin/sh -x /etc/grafana/download_dashboards.sh" ]
- {{- with .Values.downloadDashboards.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- env:
- {{- range $key, $value := .Values.downloadDashboards.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- with .Values.downloadDashboards.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- if .Values.downloadDashboards.envFromSecret }}
- envFrom:
- - secretRef:
- name: {{ tpl .Values.downloadDashboards.envFromSecret . }}
- {{- end }}
- volumeMounts:
- - name: config
- mountPath: "/etc/grafana/download_dashboards.sh"
- subPath: download_dashboards.sh
- - name: storage
- mountPath: "/var/lib/grafana"
- {{- if .Values.persistence.subPath }}
- subPath: {{ tpl .Values.persistence.subPath . }}
- {{- end }}
- {{- range .Values.extraSecretMounts }}
- - name: {{ .name }}
- mountPath: {{ .mountPath }}
- readOnly: {{ .readOnly }}
- {{- end }}
- {{- end }}
- {{- if and .Values.sidecar.datasources.enabled .Values.sidecar.datasources.initDatasources }}
- - name: {{ template "grafana.name" . }}-init-sc-datasources
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.datasources.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: "LIST"
- - name: LABEL
- value: "{{ .Values.sidecar.datasources.label }}"
- {{- if .Values.sidecar.datasources.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote .Values.sidecar.datasources.labelValue }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.datasources.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.datasources.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/datasources"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.datasources.resource }}
- {{- if .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ .Values.sidecar.enableUniqueFilenames }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (.Values.sidecar.datasources.searchNamespace | join ",") . }}"
- {{- end }}
- {{- if .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ .Values.sidecar.skipTlsVerify }}"
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-datasources-volume
- mountPath: "/etc/grafana/provisioning/datasources"
- {{- end }}
- {{- if and .Values.sidecar.notifiers.enabled .Values.sidecar.notifiers.initNotifiers }}
- - name: {{ template "grafana.name" . }}-init-sc-notifiers
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.notifiers.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: LIST
- - name: LABEL
- value: "{{ .Values.sidecar.notifiers.label }}"
- {{- if .Values.sidecar.notifiers.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote .Values.sidecar.notifiers.labelValue }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.notifiers.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.notifiers.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/notifiers"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.notifiers.resource }}
- {{- if .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ .Values.sidecar.enableUniqueFilenames }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (.Values.sidecar.notifiers.searchNamespace | join ",") . }}"
- {{- end }}
- {{- if .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ .Values.sidecar.skipTlsVerify }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-notifiers-volume
- mountPath: "/etc/grafana/provisioning/notifiers"
- {{- end}}
- {{- if .Values.extraInitContainers }}
- {{ tpl (toYaml .Values.extraInitContainers) . | indent 2 }}
- {{- end }}
- {{- if .Values.image.pullSecrets }}
- imagePullSecrets:
- {{- $root := . }}
- {{- range .Values.image.pullSecrets }}
- - name: {{ tpl . $root }}
- {{- end}}
- {{- end }}
- {{- if not .Values.enableKubeBackwardCompatibility }}
- enableServiceLinks: {{ .Values.enableServiceLinks }}
- {{- end }}
- containers:
- {{- if .Values.sidecar.alerts.enabled }}
- - name: {{ template "grafana.name" . }}-sc-alerts
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.alerts.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.alerts.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.alerts.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.alerts.label }}"
- {{- with .Values.sidecar.alerts.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote . }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.alerts.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.alerts.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/alerting"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.alerts.resource }}
- {{- if .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ .Values.sidecar.enableUniqueFilenames }}"
- {{- end }}
- {{- with .Values.sidecar.alerts.searchNamespace }}
- - name: NAMESPACE
- value: {{ . | join "," | quote }}
- {{- end }}
- {{- with .Values.sidecar.alerts.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: {{ quote . }}
- {{- end }}
- {{- with .Values.sidecar.alerts.script }}
- - name: SCRIPT
- value: {{ quote . }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.alerts.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.alerts.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.alerts.watchServerTimeout }}
- {{- if ne .Values.sidecar.alerts.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.alerts.watchServerTimeout with .Values.sidecar.alerts.watchMethod %s" .Values.sidecar.alerts.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.alerts.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.alerts.watchClientTimeout }}
- {{- if ne .Values.sidecar.alerts.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.alerts.watchClientTimeout with .Values.sidecar.alerts.watchMethod %s" .Values.sidecar.alerts.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.alerts.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-alerts-volume
- mountPath: "/etc/grafana/provisioning/alerting"
- {{- end}}
- {{- if .Values.sidecar.dashboards.enabled }}
- - name: {{ template "grafana.name" . }}-sc-dashboard
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.dashboards.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.dashboards.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.dashboards.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.dashboards.label }}"
- {{- if .Values.sidecar.dashboards.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote .Values.sidecar.dashboards.labelValue }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.dashboards.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.dashboards.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "{{ .Values.sidecar.dashboards.folder }}{{- with .Values.sidecar.dashboards.defaultFolderName }}/{{ . }}{{- end }}"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.dashboards.resource }}
- {{- if .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ .Values.sidecar.enableUniqueFilenames }}"
- {{- end }}
- {{- if .Values.sidecar.dashboards.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (.Values.sidecar.dashboards.searchNamespace | join ",") . }}"
- {{- end }}
- {{- if .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ .Values.sidecar.skipTlsVerify }}"
- {{- end }}
- {{- if .Values.sidecar.dashboards.folderAnnotation }}
- - name: FOLDER_ANNOTATION
- value: "{{ .Values.sidecar.dashboards.folderAnnotation }}"
- {{- end }}
- {{- if .Values.sidecar.dashboards.script }}
- - name: SCRIPT
- value: "{{ .Values.sidecar.dashboards.script }}"
- {{- end }}
- {{- if .Values.sidecar.dashboards.watchServerTimeout }}
- {{- if ne .Values.sidecar.dashboards.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.dashboards.watchServerTimeout with .Values.sidecar.dashboards.watchMethod %s" .Values.sidecar.dashboards.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.dashboards.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.dashboards.watchClientTimeout }}
- {{- if ne .Values.sidecar.dashboards.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.dashboards.watchClientTimeout with .Values.sidecar.dashboards.watchMethod %s" .Values.sidecar.dashboards.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.dashboards.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-dashboard-volume
- mountPath: {{ .Values.sidecar.dashboards.folder | quote }}
- {{- if .Values.sidecar.dashboards.extraMounts }}
- {{- toYaml .Values.sidecar.dashboards.extraMounts | trim | nindent 6}}
- {{- end }}
- {{- end}}
- {{- if .Values.sidecar.datasources.enabled }}
- - name: {{ template "grafana.name" . }}-sc-datasources
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.datasources.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.datasources.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.datasources.label }}"
- {{- if .Values.sidecar.datasources.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote .Values.sidecar.datasources.labelValue }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.datasources.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.datasources.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/datasources"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.datasources.resource }}
- {{- if .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ .Values.sidecar.enableUniqueFilenames }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (.Values.sidecar.datasources.searchNamespace | join ",") . }}"
- {{- end }}
- {{- if .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ .Values.sidecar.skipTlsVerify }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.script }}
- - name: SCRIPT
- value: "{{ .Values.sidecar.datasources.script }}"
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.datasources.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.datasources.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.datasources.watchServerTimeout }}
- {{- if ne .Values.sidecar.datasources.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.datasources.watchServerTimeout with .Values.sidecar.datasources.watchMethod %s" .Values.sidecar.datasources.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.datasources.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.datasources.watchClientTimeout }}
- {{- if ne .Values.sidecar.datasources.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.datasources.watchClientTimeout with .Values.sidecar.datasources.watchMethod %s" .Values.sidecar.datasources.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.datasources.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-datasources-volume
- mountPath: "/etc/grafana/provisioning/datasources"
- {{- end}}
- {{- if .Values.sidecar.notifiers.enabled }}
- - name: {{ template "grafana.name" . }}-sc-notifiers
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.notifiers.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.notifiers.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.notifiers.label }}"
- {{- if .Values.sidecar.notifiers.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote .Values.sidecar.notifiers.labelValue }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.notifiers.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.notifiers.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/notifiers"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.notifiers.resource }}
- {{- if .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ .Values.sidecar.enableUniqueFilenames }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (.Values.sidecar.notifiers.searchNamespace | join ",") . }}"
- {{- end }}
- {{- if .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ .Values.sidecar.skipTlsVerify }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.script }}
- - name: SCRIPT
- value: "{{ .Values.sidecar.notifiers.script }}"
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.notifiers.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.notifiers.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.notifiers.watchServerTimeout }}
- {{- if ne .Values.sidecar.notifiers.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.notifiers.watchServerTimeout with .Values.sidecar.notifiers.watchMethod %s" .Values.sidecar.notifiers.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.notifiers.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.notifiers.watchClientTimeout }}
- {{- if ne .Values.sidecar.notifiers.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.notifiers.watchClientTimeout with .Values.sidecar.notifiers.watchMethod %s" .Values.sidecar.notifiers.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.notifiers.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-notifiers-volume
- mountPath: "/etc/grafana/provisioning/notifiers"
- {{- end}}
- {{- if .Values.sidecar.plugins.enabled }}
- - name: {{ template "grafana.name" . }}-sc-plugins
- {{- if .Values.sidecar.image.sha }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
- {{- else }}
- image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
- {{- end }}
- imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
- env:
- {{- range $key, $value := .Values.sidecar.plugins.env }}
- - name: "{{ $key }}"
- value: "{{ $value }}"
- {{- end }}
- {{- if .Values.sidecar.plugins.ignoreAlreadyProcessed }}
- - name: IGNORE_ALREADY_PROCESSED
- value: "true"
- {{- end }}
- - name: METHOD
- value: {{ .Values.sidecar.plugins.watchMethod }}
- - name: LABEL
- value: "{{ .Values.sidecar.plugins.label }}"
- {{- if .Values.sidecar.plugins.labelValue }}
- - name: LABEL_VALUE
- value: {{ quote .Values.sidecar.plugins.labelValue }}
- {{- end }}
- {{- if or .Values.sidecar.logLevel .Values.sidecar.plugins.logLevel }}
- - name: LOG_LEVEL
- value: {{ default .Values.sidecar.logLevel .Values.sidecar.plugins.logLevel }}
- {{- end }}
- - name: FOLDER
- value: "/etc/grafana/provisioning/plugins"
- - name: RESOURCE
- value: {{ quote .Values.sidecar.plugins.resource }}
- {{- if .Values.sidecar.enableUniqueFilenames }}
- - name: UNIQUE_FILENAMES
- value: "{{ .Values.sidecar.enableUniqueFilenames }}"
- {{- end }}
- {{- if .Values.sidecar.plugins.searchNamespace }}
- - name: NAMESPACE
- value: "{{ tpl (.Values.sidecar.plugins.searchNamespace | join ",") . }}"
- {{- end }}
- {{- if .Values.sidecar.plugins.script }}
- - name: SCRIPT
- value: "{{ .Values.sidecar.plugins.script }}"
- {{- end }}
- {{- if .Values.sidecar.skipTlsVerify }}
- - name: SKIP_TLS_VERIFY
- value: "{{ .Values.sidecar.skipTlsVerify }}"
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: REQ_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if not .Values.sidecar.plugins.skipReload }}
- - name: REQ_URL
- value: {{ .Values.sidecar.plugins.reloadURL }}
- - name: REQ_METHOD
- value: POST
- {{- end }}
- {{- if .Values.sidecar.plugins.watchServerTimeout }}
- {{- if ne .Values.sidecar.plugins.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.plugins.watchServerTimeout with .Values.sidecar.plugins.watchMethod %s" .Values.sidecar.plugins.watchMethod) }}
- {{- end }}
- - name: WATCH_SERVER_TIMEOUT
- value: "{{ .Values.sidecar.plugins.watchServerTimeout }}"
- {{- end }}
- {{- if .Values.sidecar.plugins.watchClientTimeout }}
- {{- if ne .Values.sidecar.plugins.watchMethod "WATCH" }}
- {{- fail (printf "Cannot use .Values.sidecar.plugins.watchClientTimeout with .Values.sidecar.plugins.watchMethod %s" .Values.sidecar.plugins.watchMethod) }}
- {{- end }}
- - name: WATCH_CLIENT_TIMEOUT
- value: "{{ .Values.sidecar.plugins.watchClientTimeout }}"
- {{- end }}
- {{- with .Values.sidecar.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.sidecar.securityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: sc-plugins-volume
- mountPath: "/etc/grafana/provisioning/plugins"
- {{- end}}
- - name: {{ .Chart.Name }}
- {{- if .Values.image.sha }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}@sha256:{{ .Values.image.sha }}"
- {{- else }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
- {{- end }}
- imagePullPolicy: {{ .Values.image.pullPolicy }}
- {{- if .Values.command }}
- command:
- {{- range .Values.command }}
- - {{ . | quote }}
- {{- end }}
- {{- end}}
- {{- with .Values.containerSecurityContext }}
- securityContext:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- volumeMounts:
- - name: config
- mountPath: "/etc/grafana/grafana.ini"
- subPath: grafana.ini
- {{- if .Values.ldap.enabled }}
- - name: ldap
- mountPath: "/etc/grafana/ldap.toml"
- subPath: ldap.toml
- {{- end }}
- {{- $root := . }}
- {{- range .Values.extraConfigmapMounts }}
- - name: {{ tpl .name $root }}
- mountPath: {{ tpl .mountPath $root }}
- subPath: {{ (tpl .subPath $root) | default "" }}
- readOnly: {{ .readOnly }}
- {{- end }}
- - name: storage
- mountPath: "/var/lib/grafana"
- {{- if .Values.persistence.subPath }}
- subPath: {{ tpl .Values.persistence.subPath . }}
- {{- end }}
- {{- if .Values.dashboards }}
- {{- range $provider, $dashboards := .Values.dashboards }}
- {{- range $key, $value := $dashboards }}
- {{- if (or (hasKey $value "json") (hasKey $value "file")) }}
- - name: dashboards-{{ $provider }}
- mountPath: "/var/lib/grafana/dashboards/{{ $provider }}/{{ $key }}.json"
- subPath: "{{ $key }}.json"
- {{- end }}
- {{- end }}
- {{- end }}
- {{- end -}}
- {{- if .Values.dashboardsConfigMaps }}
- {{- range (keys .Values.dashboardsConfigMaps | sortAlpha) }}
- - name: dashboards-{{ . }}
- mountPath: "/var/lib/grafana/dashboards/{{ . }}"
- {{- end }}
- {{- end }}
- {{- if .Values.datasources }}
- {{- range (keys .Values.datasources | sortAlpha) }}
- - name: config
- mountPath: "/etc/grafana/provisioning/datasources/{{ . }}"
- subPath: {{ . | quote }}
- {{- end }}
- {{- end }}
- {{- if .Values.notifiers }}
- {{- range (keys .Values.notifiers | sortAlpha) }}
- - name: config
- mountPath: "/etc/grafana/provisioning/notifiers/{{ . }}"
- subPath: {{ . | quote }}
- {{- end }}
- {{- end }}
- {{- if .Values.alerting }}
- {{- range (keys .Values.alerting | sortAlpha) }}
- - name: config
- mountPath: "/etc/grafana/provisioning/alerting/{{ . }}"
- subPath: {{ . | quote }}
- {{- end }}
- {{- end }}
- {{- if .Values.dashboardProviders }}
- {{- range (keys .Values.dashboardProviders | sortAlpha) }}
- - name: config
- mountPath: "/etc/grafana/provisioning/dashboards/{{ . }}"
- subPath: {{ . | quote }}
- {{- end }}
- {{- end }}
- {{- with .Values.sidecar.alerts.enabled }}
- - name: sc-alerts-volume
- mountPath: "/etc/grafana/provisioning/alerting"
- {{- end}}
- {{- if .Values.sidecar.dashboards.enabled }}
- - name: sc-dashboard-volume
- mountPath: {{ .Values.sidecar.dashboards.folder | quote }}
- {{ if .Values.sidecar.dashboards.SCProvider }}
- - name: sc-dashboard-provider
- mountPath: "/etc/grafana/provisioning/dashboards/sc-dashboardproviders.yaml"
- subPath: provider.yaml
- {{- end}}
- {{- end}}
- {{- if .Values.sidecar.datasources.enabled }}
- - name: sc-datasources-volume
- mountPath: "/etc/grafana/provisioning/datasources"
- {{- end}}
- {{- if .Values.sidecar.plugins.enabled }}
- - name: sc-plugins-volume
- mountPath: "/etc/grafana/provisioning/plugins"
- {{- end}}
- {{- if .Values.sidecar.notifiers.enabled }}
- - name: sc-notifiers-volume
- mountPath: "/etc/grafana/provisioning/notifiers"
- {{- end}}
- {{- range .Values.extraSecretMounts }}
- - name: {{ .name }}
- mountPath: {{ .mountPath }}
- readOnly: {{ .readOnly }}
- subPath: {{ .subPath | default "" }}
- {{- end }}
- {{- range .Values.extraVolumeMounts }}
- - name: {{ .name }}
- mountPath: {{ .mountPath }}
- subPath: {{ .subPath | default "" }}
- readOnly: {{ .readOnly }}
- {{- end }}
- {{- range .Values.extraEmptyDirMounts }}
- - name: {{ .name }}
- mountPath: {{ .mountPath }}
- {{- end }}
- ports:
- - name: {{ .Values.podPortName }}
- containerPort: {{ .Values.service.targetPort }}
- protocol: TCP
- env:
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: GF_SECURITY_ADMIN_USER
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.userKey | default "admin-user" }}
- {{- end }}
- {{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
- - name: GF_SECURITY_ADMIN_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
- key: {{ .Values.admin.passwordKey | default "admin-password" }}
- {{- end }}
- {{- if .Values.plugins }}
- - name: GF_INSTALL_PLUGINS
- valueFrom:
- configMapKeyRef:
- name: {{ template "grafana.fullname" . }}
- key: plugins
- {{- end }}
- {{- if .Values.smtp.existingSecret }}
- - name: GF_SMTP_USER
- valueFrom:
- secretKeyRef:
- name: {{ .Values.smtp.existingSecret }}
- key: {{ .Values.smtp.userKey | default "user" }}
- - name: GF_SMTP_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ .Values.smtp.existingSecret }}
- key: {{ .Values.smtp.passwordKey | default "password" }}
- {{- end }}
- {{- if .Values.imageRenderer.enabled }}
- - name: GF_RENDERING_SERVER_URL
- value: http://{{ template "grafana.fullname" . }}-image-renderer.{{ template "grafana.namespace" . }}:{{ .Values.imageRenderer.service.port }}/render
- - name: GF_RENDERING_CALLBACK_URL
- value: {{ .Values.imageRenderer.grafanaProtocol }}://{{ template "grafana.fullname" . }}.{{ template "grafana.namespace" . }}:{{ .Values.service.port }}/{{ .Values.imageRenderer.grafanaSubPath }}
- {{- end }}
- - name: GF_PATHS_DATA
- value: {{ (get .Values "grafana.ini").paths.data }}
- - name: GF_PATHS_LOGS
- value: {{ (get .Values "grafana.ini").paths.logs }}
- - name: GF_PATHS_PLUGINS
- value: {{ (get .Values "grafana.ini").paths.plugins }}
- - name: GF_PATHS_PROVISIONING
- value: {{ (get .Values "grafana.ini").paths.provisioning }}
- {{- range $key, $value := .Values.envValueFrom }}
- - name: {{ $key | quote }}
- valueFrom:
- {{ tpl (toYaml $value) $ | indent 10 }}
- {{- end }}
- {{- range $key, $value := .Values.env }}
- - name: "{{ tpl $key $ }}"
- value: "{{ tpl (print $value) $ }}"
- {{- end }}
- {{- if or .Values.envFromSecret (or .Values.envRenderSecret .Values.envFromSecrets) .Values.envFromConfigMaps }}
- envFrom:
- {{- if .Values.envFromSecret }}
- - secretRef:
- name: {{ tpl .Values.envFromSecret . }}
- {{- end }}
- {{- if .Values.envRenderSecret }}
- - secretRef:
- name: {{ template "grafana.fullname" . }}-env
- {{- end }}
- {{- range .Values.envFromSecrets }}
- - secretRef:
- name: {{ tpl .name $ }}
- optional: {{ .optional | default false }}
- {{- end }}
- {{- range .Values.envFromConfigMaps }}
- - configMapRef:
- name: {{ tpl .name $ }}
- optional: {{ .optional | default false }}
- {{- end }}
- {{- end }}
- {{- with .Values.livenessProbe }}
- livenessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.readinessProbe }}
- readinessProbe:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- if .Values.lifecycleHooks }}
- lifecycle: {{ tpl (.Values.lifecycleHooks | toYaml) . | nindent 6 }}
- {{- end }}
- {{- with .Values.resources }}
- resources:
- {{- toYaml . | nindent 6 }}
- {{- end }}
- {{- with .Values.extraContainers }}
- {{ tpl . $ | indent 2 }}
- {{- end }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 2 }}
- {{- end }}
- {{- $root := . }}
- {{- with .Values.affinity }}
- affinity:
- {{ tpl (toYaml .) $root | indent 2 }}
- {{- end }}
- {{- with .Values.topologySpreadConstraints }}
- topologySpreadConstraints:
- {{- toYaml . | nindent 2 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 2 }}
- {{- end }}
- volumes:
- - name: config
- configMap:
- name: {{ template "grafana.fullname" . }}
- {{- $root := . }}
- {{- range .Values.extraConfigmapMounts }}
- - name: {{ tpl .name $root }}
- configMap:
- name: {{ tpl .configMap $root }}
- {{- if .items }}
- items: {{ toYaml .items | nindent 6 }}
- {{- end }}
- {{- end }}
- {{- if .Values.dashboards }}
- {{- range (keys .Values.dashboards | sortAlpha) }}
- - name: dashboards-{{ . }}
- configMap:
- name: {{ template "grafana.fullname" $ }}-dashboards-{{ . }}
- {{- end }}
- {{- end }}
- {{- if .Values.dashboardsConfigMaps }}
- {{ $root := . }}
- {{- range $provider, $name := .Values.dashboardsConfigMaps }}
- - name: dashboards-{{ $provider }}
- configMap:
- name: {{ tpl $name $root }}
- {{- end }}
- {{- end }}
- {{- if .Values.ldap.enabled }}
- - name: ldap
- secret:
- {{- if .Values.ldap.existingSecret }}
- secretName: {{ .Values.ldap.existingSecret }}
- {{- else }}
- secretName: {{ template "grafana.fullname" . }}
- {{- end }}
- items:
- - key: ldap-toml
- path: ldap.toml
- {{- end }}
- {{- if and .Values.persistence.enabled (eq .Values.persistence.type "pvc") }}
- - name: storage
- persistentVolumeClaim:
- claimName: {{ tpl (.Values.persistence.existingClaim | default (include "grafana.fullname" .)) . }}
- {{- else if and .Values.persistence.enabled (eq .Values.persistence.type "statefulset") }}
- # nothing
- {{- else }}
- - name: storage
- {{- if .Values.persistence.inMemory.enabled }}
- emptyDir:
- medium: Memory
- {{- if .Values.persistence.inMemory.sizeLimit }}
- sizeLimit: {{ .Values.persistence.inMemory.sizeLimit }}
- {{- end -}}
- {{- else }}
- emptyDir: {}
- {{- end -}}
- {{- end -}}
- {{- if .Values.sidecar.alerts.enabled }}
- - name: sc-alerts-volume
- {{- if .Values.sidecar.alerts.sizeLimit }}
- emptyDir:
- sizeLimit: {{ .Values.sidecar.alerts.sizeLimit }}
- {{- else }}
- emptyDir: {}
- {{- end -}}
- {{- end -}}
- {{- if .Values.sidecar.dashboards.enabled }}
- - name: sc-dashboard-volume
- {{- if .Values.sidecar.dashboards.sizeLimit }}
- emptyDir:
- sizeLimit: {{ .Values.sidecar.dashboards.sizeLimit }}
- {{- else }}
- emptyDir: {}
- {{- end -}}
- {{- if .Values.sidecar.dashboards.SCProvider }}
- - name: sc-dashboard-provider
- configMap:
- name: {{ template "grafana.fullname" . }}-config-dashboards
- {{- end }}
- {{- end }}
- {{- if .Values.sidecar.datasources.enabled }}
- - name: sc-datasources-volume
- {{- if .Values.sidecar.datasources.sizeLimit }}
- emptyDir:
- sizeLimit: {{ .Values.sidecar.datasources.sizeLimit }}
- {{- else }}
- emptyDir: {}
- {{- end -}}
- {{- end -}}
- {{- if .Values.sidecar.plugins.enabled }}
- - name: sc-plugins-volume
- {{- if .Values.sidecar.plugins.sizeLimit }}
- emptyDir:
- sizeLimit: {{ .Values.sidecar.plugins.sizeLimit }}
- {{- else }}
- emptyDir: {}
- {{- end -}}
- {{- end -}}
- {{- if .Values.sidecar.notifiers.enabled }}
- - name: sc-notifiers-volume
- {{- if .Values.sidecar.notifiers.sizeLimit }}
- emptyDir:
- sizeLimit: {{ .Values.sidecar.notifiers.sizeLimit }}
- {{- else }}
- emptyDir: {}
- {{- end -}}
- {{- end -}}
- {{- range .Values.extraSecretMounts }}
- {{- if .secretName }}
- - name: {{ .name }}
- secret:
- secretName: {{ .secretName }}
- defaultMode: {{ .defaultMode }}
- {{- if .items }}
- items: {{ toYaml .items | nindent 6 }}
- {{- end }}
- {{- else if .projected }}
- - name: {{ .name }}
- projected: {{- toYaml .projected | nindent 6 }}
- {{- else if .csi }}
- - name: {{ .name }}
- csi: {{- toYaml .csi | nindent 6 }}
- {{- end }}
- {{- end }}
- {{- range .Values.extraVolumeMounts }}
- - name: {{ .name }}
- {{- if .existingClaim }}
- persistentVolumeClaim:
- claimName: {{ .existingClaim }}
- {{- else if .hostPath }}
- hostPath:
- path: {{ .hostPath }}
- {{- else if .csi }}
- csi:
- data:
- {{ toYaml .data | nindent 6 }}
- {{- else }}
- emptyDir: {}
- {{- end }}
- {{- end }}
- {{- range .Values.extraEmptyDirMounts }}
- - name: {{ .name }}
- emptyDir: {}
- {{- end -}}
- {{- if .Values.extraContainerVolumes }}
- {{ tpl (toYaml .Values.extraContainerVolumes) . | indent 2 }}
- {{- end }}
- {{- end }}
|