github.com/microsoft/fabrikate@v1.0.0-alpha.1.0.20210115014322-dc09194d0885/testdata/local-charts/prometheus/templates/alertmanager/sts.yaml (about)

     1  {{- if and .Values.alertmanager.enabled .Values.alertmanager.statefulSet.enabled -}}
     2  apiVersion: apps/v1
     3  kind: StatefulSet
     4  metadata:
     5  {{- if .Values.alertmanager.statefulSet.annotations }}
     6    annotations:
     7      {{ toYaml .Values.alertmanager.statefulSet.annotations | nindent 4 }}
     8  {{- end }}
     9    labels:
    10      {{- include "prometheus.alertmanager.labels" . | nindent 4 }}
    11      {{- if .Values.alertmanager.statefulSet.labels}}
    12      {{ toYaml .Values.alertmanager.statefulSet.labels | nindent 4 }}
    13      {{- end}}
    14    name: {{ template "prometheus.alertmanager.fullname" . }}
    15  {{ include "prometheus.namespace" . | indent 2 }}
    16  spec:
    17    serviceName: {{ template "prometheus.alertmanager.fullname" . }}-headless
    18    selector:
    19      matchLabels:
    20        {{- include "prometheus.alertmanager.matchLabels" . | nindent 6 }}
    21    replicas: {{ .Values.alertmanager.replicaCount }}
    22    podManagementPolicy: {{ .Values.alertmanager.statefulSet.podManagementPolicy }}
    23    template:
    24      metadata:
    25      {{- if .Values.alertmanager.podAnnotations }}
    26        annotations:
    27          {{ toYaml .Values.alertmanager.podAnnotations | nindent 8 }}
    28      {{- end }}
    29        labels:
    30          {{- include "prometheus.alertmanager.labels" . | nindent 8 }}
    31          {{- if .Values.alertmanager.podLabels}}
    32          {{ toYaml .Values.alertmanager.podLabels | nindent 8 }}
    33          {{- end}}
    34      spec:
    35  {{- if .Values.alertmanager.affinity }}
    36        affinity:
    37  {{ toYaml .Values.alertmanager.affinity | indent 8 }}
    38  {{- end }}
    39  {{- if .Values.alertmanager.schedulerName }}
    40        schedulerName: "{{ .Values.alertmanager.schedulerName }}"
    41  {{- end }}
    42        serviceAccountName: {{ template "prometheus.serviceAccountName.alertmanager" . }}
    43  {{- if .Values.alertmanager.priorityClassName }}
    44        priorityClassName: "{{ .Values.alertmanager.priorityClassName }}"
    45  {{- end }}
    46        containers:
    47          - name: {{ template "prometheus.name" . }}-{{ .Values.alertmanager.name }}
    48            image: "{{ .Values.alertmanager.image.repository }}:{{ .Values.alertmanager.image.tag }}"
    49            imagePullPolicy: "{{ .Values.alertmanager.image.pullPolicy }}"
    50            env:
    51              {{- range $key, $value := .Values.alertmanager.extraEnv }}
    52              - name: {{ $key }}
    53                value: {{ $value }}
    54              {{- end }}
    55              - name: POD_IP
    56                valueFrom:
    57                  fieldRef:
    58                    apiVersion: v1
    59                    fieldPath: status.podIP
    60            args:
    61              - --config.file=/etc/config/alertmanager.yml
    62              - --storage.path={{ .Values.alertmanager.persistentVolume.mountPath }}
    63            {{- if .Values.alertmanager.statefulSet.headless.enableMeshPeer }}
    64              - --cluster.advertise-address=$(POD_IP):6783
    65              - --cluster.listen-address=0.0.0.0:6783
    66            {{- range $n := until (.Values.alertmanager.replicaCount | int) }}
    67              - --cluster.peer={{ template "prometheus.alertmanager.fullname" $ }}-{{ $n }}.{{ template "prometheus.alertmanager.fullname" $ }}-headless:6783
    68            {{- end }}
    69            {{- else }}
    70              - --cluster.listen-address=
    71            {{- end }}
    72            {{- range $key, $value := .Values.alertmanager.extraArgs }}
    73              - --{{ $key }}={{ $value }}
    74            {{- end }}
    75            {{- if .Values.alertmanager.baseURL }}
    76              - --web.external-url={{ .Values.alertmanager.baseURL }}
    77            {{- end }}
    78  
    79            ports:
    80              - containerPort: 9093
    81            {{- if .Values.alertmanager.statefulSet.headless.enableMeshPeer }}
    82              - containerPort: 6783
    83            {{- end }}
    84            readinessProbe:
    85              httpGet:
    86                path: {{ .Values.alertmanager.prefixURL }}/#/status
    87                port: 9093
    88              initialDelaySeconds: 30
    89              timeoutSeconds: 30
    90            resources:
    91  {{ toYaml .Values.alertmanager.resources | indent 12 }}
    92            volumeMounts:
    93              - name: config-volume
    94                mountPath: /etc/config
    95              - name: storage-volume
    96                mountPath: "{{ .Values.alertmanager.persistentVolume.mountPath }}"
    97                subPath: "{{ .Values.alertmanager.persistentVolume.subPath }}"
    98            {{- range .Values.alertmanager.extraSecretMounts }}
    99              - name: {{ .name }}
   100                mountPath: {{ .mountPath }}
   101                subPath: {{ .subPath }}
   102                readOnly: {{ .readOnly }}
   103            {{- end }}
   104          {{- if .Values.configmapReload.alertmanager.enabled }}
   105          - name: {{ template "prometheus.name" . }}-{{ .Values.alertmanager.name }}-{{ .Values.configmapReload.alertmanager.name }}
   106            image: "{{ .Values.configmapReload.alertmanager.image.repository }}:{{ .Values.configmapReload.alertmanager.image.tag }}"
   107            imagePullPolicy: "{{ .Values.configmapReload.alertmanager.image.pullPolicy }}"
   108            args:
   109              - --volume-dir=/etc/config
   110              - --webhook-url=http://localhost:9093{{ .Values.alertmanager.prefixURL }}/-/reload
   111            resources:
   112  {{ toYaml .Values.configmapReload.alertmanager.resources | indent 12 }}
   113            volumeMounts:
   114              - name: config-volume
   115                mountPath: /etc/config
   116                readOnly: true
   117          {{- end }}
   118      {{- if .Values.imagePullSecrets }}
   119        imagePullSecrets:
   120        {{ toYaml .Values.imagePullSecrets | indent 2 }}
   121      {{- end }}
   122      {{- if .Values.alertmanager.nodeSelector }}
   123        nodeSelector:
   124  {{ toYaml .Values.alertmanager.nodeSelector | indent 8 }}
   125      {{- end }}
   126      {{- if .Values.alertmanager.securityContext }}
   127        securityContext:
   128  {{ toYaml .Values.alertmanager.securityContext | indent 8 }}
   129      {{- end }}
   130      {{- if .Values.alertmanager.tolerations }}
   131        tolerations:
   132  {{ toYaml .Values.alertmanager.tolerations | indent 8 }}
   133      {{- end }}
   134        volumes:
   135          - name: config-volume
   136            {{- if empty .Values.alertmanager.configFromSecret }}
   137            configMap:
   138              name: {{ if .Values.alertmanager.configMapOverrideName }}{{ .Release.Name }}-{{ .Values.alertmanager.configMapOverrideName }}{{- else }}{{ template "prometheus.alertmanager.fullname" . }}{{- end }}
   139            {{- else }}
   140            secret:
   141              secretName: {{ .Values.alertmanager.configFromSecret }}
   142            {{- end }}
   143        {{- range .Values.alertmanager.extraSecretMounts }}
   144          - name: {{ .name }}
   145            secret:
   146              secretName: {{ .secretName }}
   147        {{- end }}
   148  {{- if .Values.alertmanager.persistentVolume.enabled }}
   149    volumeClaimTemplates:
   150      - metadata:
   151          name: storage-volume
   152          {{- if .Values.alertmanager.persistentVolume.annotations }}
   153          annotations:
   154  {{ toYaml .Values.alertmanager.persistentVolume.annotations | indent 10 }}
   155          {{- end }}
   156        spec:
   157          accessModes:
   158  {{ toYaml .Values.alertmanager.persistentVolume.accessModes | indent 10 }}
   159          resources:
   160            requests:
   161              storage: "{{ .Values.alertmanager.persistentVolume.size }}"
   162        {{- if .Values.server.persistentVolume.storageClass }}
   163        {{- if (eq "-" .Values.server.persistentVolume.storageClass) }}
   164          storageClassName: ""
   165        {{- else }}
   166          storageClassName: "{{ .Values.alertmanager.persistentVolume.storageClass }}"
   167        {{- end }}
   168        {{- end }}
   169  {{- else }}
   170          - name: storage-volume
   171            emptyDir:
   172            {{- if .Values.alertmanager.emptyDir.sizeLimit }}
   173              sizeLimit: {{ .Values.alertmanager.emptyDir.sizeLimit }}
   174            {{- else }}
   175              {}
   176            {{- end -}}
   177  {{- end }}
   178  {{- end }}