diff --git a/k8s/core/prom-stack/external-secrets.yaml b/k8s/core/prom-stack/external-secrets.yaml index 65b170b..b923cdb 100644 --- a/k8s/core/prom-stack/external-secrets.yaml +++ b/k8s/core/prom-stack/external-secrets.yaml @@ -79,3 +79,44 @@ spec: key: 2a9deb39-ef22-433e-a1be-df1555625e22 property: fields[2].value +--- +apiVersion: external-secrets.io/v1 +kind: ExternalSecret +metadata: + name: alertmanager-telegram +spec: + target: + name: alertmanager-telegram-secret + deletionPolicy: Delete + template: + type: Opaque + data: + TELEGRAM_BOT_TOKEN: |- + {{ .bot_token }} + TELEGRAM_CHAT_ID: |- + {{ .chat_id }} + data: + - secretKey: bot_token + sourceRef: + storeRef: + name: vaultwarden-login + kind: ClusterSecretStore + remoteRef: + conversionStrategy: Default + decodingStrategy: None + metadataPolicy: None + key: eca0fb0b-3939-40a8-890a-6294863e5a65 + property: fields[0].value + - secretKey: chat_id + sourceRef: + storeRef: + name: vaultwarden-login + kind: ClusterSecretStore + remoteRef: + conversionStrategy: Default + decodingStrategy: None + metadataPolicy: None + key: eca0fb0b-3939-40a8-890a-6294863e5a65 + property: fields[1].value + + diff --git a/k8s/core/prom-stack/prom-values.yaml b/k8s/core/prom-stack/prom-values.yaml index 14d5b29..b96bd52 100644 --- a/k8s/core/prom-stack/prom-values.yaml +++ b/k8s/core/prom-stack/prom-values.yaml @@ -1,5 +1,35 @@ grafana: enabled: false + +alertmanager: + config: + global: + telegram_api_url: "https://api.telegram.org" + route: + group_by: ['alertname', 'cluster', 'service'] + group_wait: 10s + group_interval: 10s + repeat_interval: 12h + receiver: 'telegram' + receivers: + - name: 'telegram' + telegram_configs: + - bot_token: '${TELEGRAM_BOT_TOKEN}' + chat_id: ${TELEGRAM_CHAT_ID} + parse_mode: 'HTML' + message: | + {{ range .Alerts }} + {{ .Labels.alertname }} + {{ if .Labels.severity }}Severity: {{ .Labels.severity }}{{ end }} + Status: {{ .Status }} + {{ if .Annotations.summary }}Summary: {{ .Annotations.summary }}{{ end }} + {{ if .Annotations.description }}Description: {{ .Annotations.description }}{{ end }} + {{ end }} + + alertmanagerSpec: + secrets: + - alertmanager-telegram-secret + prometheus: prometheusSpec: enableRemoteWriteReceiver: true