diff --git a/go_cron_bash.sh b/go_cron_bash.sh new file mode 100644 index 0000000..1cdf706 --- /dev/null +++ b/go_cron_bash.sh @@ -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