I’m using:
- k8s: v1.27
- helm chart version: kube-prometheus-stack-56.9.0
- my alertmanager config (part from values.yaml):
receivers:
- name: 'null'
- name: 'msteams'
msteams_configs:
- webhook_url: <url>
send_resolved: true
title: '[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]'
text: '{{ template "msteams.text" . }}'
templates:
- '/etc/alertmanager/config/*.tmpl'
Is there a way to put data from env var or secret in the webhook_url ?
Or put a var data from global.some_var…?
I think that all of the receivers have a _file:
parameter.
I know that msteams_config
does have the parameter webhook_url_file
. This can be used to pass the secret as a file if you mount it using the following values.
You just need a Kubernetes secret called alertmanager-secrets
with a key msteams-webhook-url
.
alertmanager:
alertmanagerSpec:
secrets:
- alertmanager-secrets
receivers:
- name: 'null'
- name: 'msteams'
msteams_configs:
- webhook_url_file: /etc/alertmanager/secrets/alertmanager-secrets/msteams-webhook-url
send_resolved: true
title: '[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]'
text: '{{ template "msteams.text" . }}'
templates:
- '/etc/alertmanager/config/*.tmpl'
Configuration - msteams_config | Prometheus
This post explains it better: kubernetes - How to insert a secret in alertmanager configuration file - Stack Overflow
1 Like