6
0
Fork 0
This repository has been archived on 2022-03-14. You can view files and clone it, but cannot push or open issues or pull requests.
cdist-recycledcloud/type/__prometheus_alertmanager/manifest

59 lines
1.6 KiB
Bash

#!/bin/sh
os="$(cat "${__global:?}/explorer/os")"
case "$os" in
alpine)
service=alertmanager
package=alertmanager
alertmanager_yml=/etc/alertmanager/alertmanager.yml
;;
ubuntu|debian)
service=prometheus-alertmanager
package=prometheus-alertmanager
alertmanager_yml=/etc/prometheus/alertmanager.yml
;;
*)
echo "This type does not supper $os. Exiting." >&2
exit 1
;;
esac
SMTP_SMARTHOST=$(cat "${__object:?}/parameter/smtp-smarthost")
SMTP_FROM=$(cat "${__object:?}/parameter/smtp-from")
SMTP_USER=$(cat "${__object:?}/parameter/smtp-user")
SMTP_PASSWORD=$(cat "${__object:?}/parameter/smtp-password")
export SMTP_SMARTHOST SMTP_USER SMTP_FROM SMTP_PASSWORD
if [ -f "${__object:?}/parameter/receiver-email" ]; then
RECEIVER_EMAIL=$(cat "${__object:?}/parameter/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.
__package "$package"
# Generate and deploy configuration
mkdir -p "${__object:?}/files"
"${__type:?}/files/alertmanager.yml.sh" > "${__object:?}/files/alertmanager.yml"
require="__package/$package" __file "$alertmanager_yml" \
--source "${__object:?}/files/alertmanager.yml" \
--mode 0644 \
--onchange "service $service restart"
require="__package/$package" __start_on_boot "$service"
#require="__package/$package" __service "$service" --action start