aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/namespaces/monitoring/alerts/alertmanager/deployment.yaml
blob: da3edf59510e49ac5d483cc77be40613af820d1f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
apiVersion: apps/v1
kind: Deployment
metadata:
  name: alertmanager
  namespace: monitoring
spec:
  replicas: 3
  selector:
    matchLabels:
      app: alertmanager
  template:
    metadata:
      labels:
        app: alertmanager
    spec:
      serviceAccountName: prometheus
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - alertmanager
              namespaces:
              - monitoring
              topologyKey: kubernetes.io/hostname
            weight: 100
      initContainers:
      - image: alpine:latest
        imagePullPolicy: Always
        name: alertmanager-peering-setup
        command: [
          '/opt/pydis/alertmanager/init.d/find-pods.sh'
        ]
        volumeMounts:
        - name: alertmanager-init
          mountPath: /opt/pydis/alertmanager/init.d
        - name: alertmanager-tmp
          mountPath: /tmp
        securityContext:
          runAsUser: 0
      containers:
      - image: prom/alertmanager:latest
        imagePullPolicy: Always
        name: alertmanager
        command:
          - /bin/sh
          - -c
          - |
            exec /bin/alertmanager \
              --config.file=/opt/pydis/alertmanager/config.d/alertmanager.yaml \
              --web.external-url=https://alertmanager.pydis.wtf \
              --storage.path=/data/alertmanager \
              $(cat /tmp/peers)
        ports:
        - name: am
          containerPort: 9093
        - name: am-peering
          containerPort: 9094
        volumeMounts:
        - name: alertmanager-config
          mountPath: /opt/pydis/alertmanager/config.d
        - name: alertmanager-webhooks
          mountPath: /opt/pydis/alertmanager/webhooks
        - name: alertmanager-tmp-data
          mountPath: /data
        - name: alertmanager-tmp
          mountPath: /tmp
        securityContext:
          readOnlyRootFilesystem: true
      restartPolicy: Always
      volumes:
        - name: alertmanager-config
          configMap:
            name: alertmanager-config
        - name: alertmanager-webhooks
          secret:
            secretName: alert-manager-hook
        - name: alertmanager-tmp-data
          emptyDir: {}
        - name: alertmanager-tmp
          emptyDir: {}
        - name: alertmanager-init
          configMap:
            name: alertmanager-init
            defaultMode: 0777
      securityContext:
        fsGroup: 1000
        runAsUser: 1000