apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: name: matrix-alertmanager-secret namespace: monitoring spec: refreshInterval: "1h" secretStoreRef: name: vault-external-secrets-store kind: ClusterSecretStore target: name: matrix-alertmanager-secret creationPolicy: Owner template: data: MATRIX_USER: "{{ .MATRIX_USER }}" MATRIX_TOKEN: "{{ .MATRIX_TOKEN }}" APP_ALERTMANAGER_SECRET: "{{ .APP_ALERTMANAGER_SECRET }}" WEBHOOK_URL: "http://matrix-alertmanager.monitoring.svc.cluster.local:3000/alerts?secret={{ .APP_ALERTMANAGER_SECRET }}" data: - secretKey: MATRIX_USER remoteRef: key: matrix-alertmanager property: matrix-user - secretKey: MATRIX_TOKEN remoteRef: key: matrix-alertmanager property: matrix-token - secretKey: APP_ALERTMANAGER_SECRET remoteRef: key: matrix-alertmanager property: secret-key --- apiVersion: v1 kind: ConfigMap metadata: name: matrix-alertmanager-config namespace: monitoring data: MATRIX_HOMESERVER_URL: "https://starling.mynest.love" APP_PORT: "3000" MATRIX_ROOMS: "matrix-notifications/!mlnAreDcLexiphBSel:starling.mynest.love" --- apiVersion: apps/v1 kind: Deployment metadata: name: matrix-alertmanager namespace: monitoring labels: app.kubernetes.io/name: matrix-alertmanager annotations: keel.sh/policy: "all" keel.sh/match-tag: "true" keel.sh/schedule: "0 3 * * *" spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: matrix-alertmanager template: metadata: labels: app.kubernetes.io/name: matrix-alertmanager spec: nodeSelector: kubernetes.io/arch: amd64 # No ARM image containers: - name: matrix-alertmanager image: jaywink/matrix-alertmanager:latest imagePullPolicy: IfNotPresent ports: - containerPort: 3000 name: http envFrom: - secretRef: name: matrix-alertmanager-secret - configMapRef: name: matrix-alertmanager-config env: - name: MENTION_ROOM value: "1" --- apiVersion: v1 kind: Service metadata: name: matrix-alertmanager namespace: monitoring labels: app.kubernetes.io/name: matrix-alertmanager spec: type: ClusterIP ports: - port: 3000 targetPort: http protocol: TCP name: http selector: app.kubernetes.io/name: matrix-alertmanager