1 {{- if and .Values.alertmanager.enabled .Values.alertmanager.statefulSet.enabled -}}
6 {{- include "prometheus.alertmanager.labels" . | nindent 4 }}
7 name: {{ template "prometheus.alertmanager.fullname" . }}
8 {{ include "prometheus.namespace" . | indent 2 }}
10 serviceName: {{ template "prometheus.alertmanager.fullname" . }}-headless
13 {{- include "prometheus.alertmanager.matchLabels" . | nindent 6 }}
14 replicas: {{ .Values.alertmanager.replicaCount }}
15 podManagementPolicy: {{ .Values.alertmanager.statefulSet.podManagementPolicy }}
18 {{- if .Values.alertmanager.podAnnotations }}
20 {{ toYaml .Values.alertmanager.podAnnotations | indent 8 }}
23 {{- include "prometheus.alertmanager.labels" . | nindent 8 }}
25 {{- if .Values.alertmanager.affinity }}
27 {{ toYaml .Values.alertmanager.affinity | indent 8 }}
29 {{- if .Values.alertmanager.schedulerName }}
30 schedulerName: "{{ .Values.alertmanager.schedulerName }}"
32 serviceAccountName: {{ template "prometheus.serviceAccountName.alertmanager" . }}
33 {{- if .Values.alertmanager.priorityClassName }}
34 priorityClassName: "{{ .Values.alertmanager.priorityClassName }}"
37 - name: {{ template "prometheus.name" . }}-{{ .Values.alertmanager.name }}
38 image: "{{ .Values.alertmanager.image.repository }}:{{ .Values.alertmanager.image.tag }}"
39 imagePullPolicy: "{{ .Values.alertmanager.image.pullPolicy }}"
41 {{- range $key, $value := .Values.alertmanager.extraEnv }}
49 fieldPath: status.podIP
51 - --config.file=/etc/config/alertmanager.yml
52 - --storage.path={{ .Values.alertmanager.persistentVolume.mountPath }}
53 {{- if .Values.alertmanager.statefulSet.headless.enableMeshPeer }}
54 - --cluster.advertise-address=$(POD_IP):6783
55 - --cluster.listen-address=0.0.0.0:6783
56 {{- range $n := until (.Values.alertmanager.replicaCount | int) }}
57 - --cluster.peer={{ template "prometheus.alertmanager.fullname" $ }}-{{ $n }}.{{ template "prometheus.alertmanager.fullname" $ }}-headless:6783
60 - --cluster.listen-address=
62 {{- range $key, $value := .Values.alertmanager.extraArgs }}
63 - --{{ $key }}={{ $value }}
65 {{- if .Values.alertmanager.baseURL }}
66 - --web.external-url={{ .Values.alertmanager.baseURL }}
73 path: {{ .Values.alertmanager.prefixURL }}/#/status
75 initialDelaySeconds: 30
78 {{ toYaml .Values.alertmanager.resources | indent 12 }}
81 mountPath: /etc/config
82 - name: storage-volume
83 mountPath: "{{ .Values.alertmanager.persistentVolume.mountPath }}"
84 subPath: "{{ .Values.alertmanager.persistentVolume.subPath }}"
85 {{- range .Values.alertmanager.extraSecretMounts }}
87 mountPath: {{ .mountPath }}
88 subPath: {{ .subPath }}
89 readOnly: {{ .readOnly }}
91 {{- if .Values.configmapReload.alertmanager.enabled }}
92 - name: {{ template "prometheus.name" . }}-{{ .Values.alertmanager.name }}-{{ .Values.configmapReload.alertmanager.name }}
93 image: "{{ .Values.configmapReload.alertmanager.image.repository }}:{{ .Values.configmapReload.alertmanager.image.tag }}"
94 imagePullPolicy: "{{ .Values.configmapReload.alertmanager.image.pullPolicy }}"
96 - --volume-dir=/etc/config
97 - --webhook-url=http://localhost:9093{{ .Values.alertmanager.prefixURL }}/-/reload
99 {{ toYaml .Values.configmapReload.alertmanager.resources | indent 12 }}
101 - name: config-volume
102 mountPath: /etc/config
105 {{- if .Values.imagePullSecrets }}
107 {{ toYaml .Values.imagePullSecrets | indent 2 }}
109 {{- if .Values.alertmanager.nodeSelector }}
111 {{ toYaml .Values.alertmanager.nodeSelector | indent 8 }}
113 {{- if .Values.alertmanager.securityContext }}
115 {{ toYaml .Values.alertmanager.securityContext | indent 8 }}
117 {{- if .Values.alertmanager.tolerations }}
119 {{ toYaml .Values.alertmanager.tolerations | indent 8 }}
122 - name: config-volume
124 name: {{ if .Values.alertmanager.configMapOverrideName }}{{ .Release.Name }}-{{ .Values.alertmanager.configMapOverrideName }}{{- else }}{{ template "prometheus.alertmanager.fullname" . }}{{- end }}
125 {{- range .Values.alertmanager.extraSecretMounts }}
128 secretName: {{ .secretName }}
130 {{- if .Values.alertmanager.persistentVolume.enabled }}
131 volumeClaimTemplates:
134 {{- if .Values.alertmanager.persistentVolume.annotations }}
136 {{ toYaml .Values.alertmanager.persistentVolume.annotations | indent 10 }}
140 {{ toYaml .Values.alertmanager.persistentVolume.accessModes | indent 10 }}
143 storage: "{{ .Values.alertmanager.persistentVolume.size }}"
144 {{- if .Values.server.persistentVolume.storageClass }}
145 {{- if (eq "-" .Values.server.persistentVolume.storageClass) }}
148 storageClassName: "{{ .Values.alertmanager.persistentVolume.storageClass }}"
152 - name: storage-volume