6
0
Fork 0

Add support for repeat interval and emails to alertmanager type

This commit is contained in:
Timothée Floure 2021-03-29 19:21:55 +02:00
parent 468c416a39
commit 01e99e110f
Signed by: tfloure
GPG key ID: 4502C902C00A1E12
5 changed files with 38 additions and 9 deletions

View file

@ -28,10 +28,10 @@ route:
# If an alert has successfully been sent, wait 'repeat_interval' to # If an alert has successfully been sent, wait 'repeat_interval' to
# resend them. # resend them.
repeat_interval: 3h repeat_interval: ${REPEAT_INTERVAL:?}
# A default receiver # A default receiver
receiver: admin-mails receiver: admins
# All the above attributes are inherited by all child routes and can # All the above attributes are inherited by all child routes and can
# overwritten on each. # overwritten on each.
@ -54,8 +54,20 @@ inhibit_rules:
receivers: receivers:
- name: 'admin-mails' - name: 'admins'
email_configs:
- to: '${RECEIVER_EMAIL:?}'
EOF EOF
if [ -n "$RECEIVER_EMAIL" ]; then
cat << EOF
email_configs:
- to: '$RECEIVER_EMAIL'
send_resolved: true
EOF
fi
if [ -n "$RECEIVER_WEBHOOK" ]; then
cat << EOF
webhook_configs:
- url: ${RECEIVER_WEBHOOK:?}
EOF
fi

View file

@ -25,8 +25,22 @@ SMTP_USER=$(cat "${__object:?}/parameter/smtp-user")
SMTP_PASSWORD=$(cat "${__object:?}/parameter/smtp-password") SMTP_PASSWORD=$(cat "${__object:?}/parameter/smtp-password")
export SMTP_SMARTHOST SMTP_USER SMTP_FROM SMTP_PASSWORD export SMTP_SMARTHOST SMTP_USER SMTP_FROM SMTP_PASSWORD
RECEIVER_EMAIL=$(cat "${__object:?}/parameter/receiver") if [ -f "${__object:?}/parameter/receiver-email" ]; then
RECEIVER_EMAIL=$(cat "${__object:?}/parameter/receiver-email")
export RECEIVER_EMAIL export RECEIVER_EMAIL
fi
if [ -f "${__object:?}/parameter/receiver-webhook" ]; then
RECEIVER_WEBHOOK=$(cat "${__object:?}/parameter/receiver-webhook")
export RECEIVER_WEBHOOK
fi
if [ -z "$RECEIVER_EMAIL" ] && [ -z "$RECEIVER_WEBHOOK" ]; then
echo "At least one receiver must be configured." >&2
exit 1
fi
REPEAT_INTERVAL=$(cat "${__object:?}/parameter/repeat-interval")
export REPEAT_INTERVAL
# Install Alertmanager. # Install Alertmanager.
__package "$package" __package "$package"

View file

@ -0,0 +1 @@
3h

View file

@ -0,0 +1,3 @@
repeat-interval
receiver-webhook
receiver-email

View file

@ -2,4 +2,3 @@ smtp-smarthost
smtp-from smtp-from
smtp-user smtp-user
smtp-password smtp-password
receiver