k3s/monitoring/monitoring-matrix-alertmanager.yaml

99 lines
2.5 KiB
YAML
Raw Normal View History

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