Add go_cron_bash.sh
All checks were successful
Build Go Binary / build (push) Successful in 31s

This commit is contained in:
holzi1005 2025-06-29 10:12:03 +02:00
parent 4c65ddfb9e
commit 83a3d12dbd

42
go_cron_bash.sh Normal file
View file

@ -0,0 +1,42 @@
#!/bin/bash
set -euo pipefail
BIN_PATH="/usr/local/bin/haproxy_generator"
CONFIG_PATH="/etc/haproxy/haproxy.cfg"
NEW_CONFIG="${CONFIG_PATH}.new"
TEMPLATE_PATH="/etc/haproxy/haproxy.tmpl"
# Setze notwendige Umgebungsvariablen
export HAPROXY_TEMPLATE="$TEMPLATE_PATH"
export KUBERNETES_HOST="https://10.0.20.7:6443"
export KUBERNETES_TOKEN="eyJhbGciOi..." # <<< hier echten Token einfügen
export KUBERNETES_VERIFYSSL="false"
# Prüfe, ob Template vorhanden ist
if [ ! -f "$TEMPLATE_PATH" ]; then
echo "[ERROR] Template-Datei nicht gefunden: $TEMPLATE_PATH" >&2
exit 1
fi
# Neue Konfiguration generieren
if ! "$BIN_PATH" > "$NEW_CONFIG"; then
echo "[ERROR] Fehler beim Ausführen von haproxy_generator" >&2
exit 1
fi
# Syntaxprüfung der neuen Konfiguration
if ! /sbin/haproxy -f "$NEW_CONFIG" -c; then
echo "[ERROR] Neue Konfiguration ist syntaktisch ungültig (haproxy -c)" >&2
exit 1
fi
# Unterschiede prüfen und ggf. übernehmen
if ! diff -q "$CONFIG_PATH" "$NEW_CONFIG" > /dev/null; then
echo "[INFO] Änderungen erkannt - Konfiguration wird übernommen"
mv "$NEW_CONFIG" "$CONFIG_PATH"
/usr/sbin/service haproxy reload
else
echo "[INFO] Keine Änderungen - kein Reload notwendig"
rm -f "$NEW_CONFIG"
fi