This commit is contained in:
2026-08-26 13:16:10 +02:00
parent 43f31e0061
commit 24d78d7362
+13 -5
View File
@@ -177,6 +177,9 @@ build_website_image() {
# ============================================================================
# WATCHER LOGIK FÜR ALLE TENANT AKTIONEN (add, remove, restart)
# ============================================================================
TARGET_SYSTEM_DIR="/opt/Inventarsystem"
TARGET_SCRIPT="$TARGET_SYSTEM_DIR/manage-tenant.sh"
watcher_loop() {
local trigger_dir="$1"
echo "[INFO] Tenant Watcher gestartet. Lausche in $trigger_dir..."
@@ -194,6 +197,8 @@ watcher_loop() {
SLUG=$(jq -r '.slug // empty' "$file" 2>/dev/null || true)
PORT=$(jq -r '.port // empty' "$file" 2>/dev/null || true)
PASS=$(jq -r '.password // empty' "$file" 2>/dev/null || true)
# Lese auch die Modul-Konfiguration aus
MODULES=$(jq -r '.module_config // empty' "$file" 2>/dev/null || true)
else
# Fallback, falls jq nicht installiert ist
ACTION=$(grep -o '"action": *"[^"]*"' "$file" | cut -d'"' -f4 || echo "add")
@@ -201,6 +206,7 @@ watcher_loop() {
SLUG=$(grep -o '"slug": *"[^"]*"' "$file" | cut -d'"' -f4 || true)
PORT=$(grep -o '"port": *[0-9]*' "$file" | cut -d':' -f2 | tr -d ' ' || true)
PASS=$(grep -o '"password": *"[^"]*"' "$file" | cut -d'"' -f4 || true)
MODULES=$(grep -o '"module_config": *"[^"]*"' "$file" | cut -d'"' -f4 || true)
fi
if [ -z "$SLUG" ]; then
@@ -212,7 +218,8 @@ watcher_loop() {
case "$ACTION" in
"add")
if [ -n "$PORT" ] && [ -n "$PASS" ]; then
if "$SCRIPT_DIR/manage-tenant.sh" add "$SLUG" "$PORT" "$PASS"; then
# Übergibt auch die MODULES Variable, falls manage-tenant.sh sie unterstützt
if "$TARGET_SCRIPT" add "$SLUG" "$PORT" "$PASS" "$MODULES"; then
echo "[SUCCESS] Tenant bereitgestellt: $SLUG"
else
echo "[ERROR] Fehler beim Bereitstellen von: $SLUG" >&2
@@ -222,14 +229,14 @@ watcher_loop() {
fi
;;
"remove")
if "$SCRIPT_DIR/manage-tenant.sh" remove "$SLUG"; then
if "$TARGET_SCRIPT" remove "$SLUG"; then
echo "[SUCCESS] Tenant gelöscht: $SLUG"
else
echo "[ERROR] Fehler beim Löschen von: $SLUG" >&2
fi
;;
"restart")
if "$SCRIPT_DIR/manage-tenant.sh" restart-tenant "$SLUG"; then
if "$TARGET_SCRIPT" restart-tenant "$SLUG"; then
echo "[SUCCESS] Tenant neu gestartet: $SLUG"
else
echo "[ERROR] Fehler beim Neustart von: $SLUG" >&2
@@ -248,11 +255,12 @@ watcher_loop() {
}
start_tenant_watcher() {
local trigger_dir="$SCRIPT_DIR/triggers"
# HIER DEN PFAD AUF DAS INVENTARSYSTEM UMBIEGEN
local trigger_dir="$TARGET_SYSTEM_DIR/triggers"
local pid_file="$SCRIPT_DIR/.watcher.pid"
local log_file="$SCRIPT_DIR/watcher.log"
# Erstelle Trigger-Verzeichnis
# Erstelle Trigger-Verzeichnis, falls es nicht existiert
if [ ! -d "$trigger_dir" ]; then
mkdir -p "$trigger_dir"
chmod 777 "$trigger_dir"