mirror of
https://github.com/ergosteur/ergo-proxmox-scripts.git
synced 2026-10-28 13:00:37 -04:00
Move watchdog alert address into conf/
Both watchdogs hardcoded the notification address. Read it from conf/watchdog.conf instead, matching the pattern used for the other credentials, so the repo carries no real contact details. If the config is absent the watchdogs still run and log; sendAlert notes the missing address and skips the mail rather than invoking mail(1) with an empty recipient. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0580a9530a
commit
23196eafed
@@ -0,0 +1,11 @@
|
|||||||
|
# Alert destination for vm-watchdog.sh and lxc-watchdog.sh.
|
||||||
|
#
|
||||||
|
# Copy to conf/watchdog.conf next to the scripts:
|
||||||
|
# cp conf/watchdog.conf.example conf/watchdog.conf
|
||||||
|
#
|
||||||
|
# The scripts look for it relative to their own location, so this works both in a
|
||||||
|
# checkout and deployed at /opt/ergosteur. Override with WATCHDOG_CONFIG.
|
||||||
|
#
|
||||||
|
# If the file is absent the watchdogs still run and log; they just skip the email.
|
||||||
|
|
||||||
|
WATCHDOG_EMAIL=alerts@example.com
|
||||||
+15
-1
@@ -13,7 +13,17 @@ declare -A Containers=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
logFile="/var/log/proxmox_lxc_watchdog.log"
|
logFile="/var/log/proxmox_lxc_watchdog.log"
|
||||||
email="your_email@example.com"
|
|
||||||
|
# Alert address comes from conf/watchdog.conf (see conf/watchdog.conf.example),
|
||||||
|
# resolved relative to this script so it works from a checkout or /opt/ergosteur.
|
||||||
|
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
|
||||||
|
CONFIG=${WATCHDOG_CONFIG:-$SCRIPT_DIR/conf/watchdog.conf}
|
||||||
|
email=""
|
||||||
|
if [[ -r "$CONFIG" ]]; then
|
||||||
|
# shellcheck source=/dev/null
|
||||||
|
. "$CONFIG"
|
||||||
|
email="${WATCHDOG_EMAIL:-}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Log function
|
# Log function
|
||||||
log () {
|
log () {
|
||||||
@@ -26,6 +36,10 @@ log () {
|
|||||||
sendAlert () {
|
sendAlert () {
|
||||||
subject="[Proxmox LXC WatchDog] $1"
|
subject="[Proxmox LXC WatchDog] $1"
|
||||||
body="$2"
|
body="$2"
|
||||||
|
if [[ -z "$email" ]]; then
|
||||||
|
log "No WATCHDOG_EMAIL configured in $CONFIG; skipping alert: $subject"
|
||||||
|
return
|
||||||
|
fi
|
||||||
echo -e "$body" | mail -s "$subject" "$email"
|
echo -e "$body" | mail -s "$subject" "$email"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+15
-1
@@ -11,7 +11,17 @@ declare -A VMs=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
logFile="/var/log/proxmox_watchdog.log"
|
logFile="/var/log/proxmox_watchdog.log"
|
||||||
email="alerts@example.com"
|
|
||||||
|
# Alert address comes from conf/watchdog.conf (see conf/watchdog.conf.example),
|
||||||
|
# resolved relative to this script so it works from a checkout or /opt/ergosteur.
|
||||||
|
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
|
||||||
|
CONFIG=${WATCHDOG_CONFIG:-$SCRIPT_DIR/conf/watchdog.conf}
|
||||||
|
email=""
|
||||||
|
if [[ -r "$CONFIG" ]]; then
|
||||||
|
# shellcheck source=/dev/null
|
||||||
|
. "$CONFIG"
|
||||||
|
email="${WATCHDOG_EMAIL:-}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Log function
|
# Log function
|
||||||
log () {
|
log () {
|
||||||
@@ -24,6 +34,10 @@ log () {
|
|||||||
sendAlert () {
|
sendAlert () {
|
||||||
subject="[Proxmox WatchDog] $1"
|
subject="[Proxmox WatchDog] $1"
|
||||||
body="$2"
|
body="$2"
|
||||||
|
if [[ -z "$email" ]]; then
|
||||||
|
log "No WATCHDOG_EMAIL configured in $CONFIG; skipping alert: $subject"
|
||||||
|
return
|
||||||
|
fi
|
||||||
echo -e "$body" | mail -s "$subject" "$email"
|
echo -e "$body" | mail -s "$subject" "$email"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user