diff --git a/Website/launch.sh b/Website/launch.sh index 44f831a..a46d71c 100755 --- a/Website/launch.sh +++ b/Website/launch.sh @@ -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"