diff --git a/Website/launch.sh b/Website/launch.sh index a46d71c..f29c69c 100755 --- a/Website/launch.sh +++ b/Website/launch.sh @@ -197,7 +197,6 @@ 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 @@ -218,9 +217,22 @@ watcher_loop() { case "$ACTION" in "add") if [ -n "$PORT" ] && [ -n "$PASS" ]; then - # Übergibt auch die MODULES Variable, falls manage-tenant.sh sie unterstützt - if "$TARGET_SCRIPT" add "$SLUG" "$PORT" "$PASS" "$MODULES"; then + # 1. Tenant erstellen + if (cd "$TARGET_SYSTEM_DIR" && "$TARGET_SCRIPT" add "$SLUG" "$PORT" "$PASS"); then echo "[SUCCESS] Tenant bereitgestellt: $SLUG" + + # 2. Wenn Module übergeben wurden, diese im Anschluss konfigurieren + if [ -n "$MODULES" ]; then + echo "[INFO] Konfiguriere Module für $SLUG: $MODULES" + # Hinweis: $MODULES wird hier bewusst ohne Anführungszeichen übergeben, + # damit "inventory=on library=on" in separate Parameter aufgeteilt wird. + # shellcheck disable=SC2086 + if (cd "$TARGET_SYSTEM_DIR" && "$TARGET_SCRIPT" module "$SLUG" $MODULES); then + echo "[SUCCESS] Module für $SLUG erfolgreich konfiguriert." + else + echo "[ERROR] Fehler beim Konfigurieren der Module für $SLUG." >&2 + fi + fi else echo "[ERROR] Fehler beim Bereitstellen von: $SLUG" >&2 fi @@ -229,14 +241,14 @@ watcher_loop() { fi ;; "remove") - if "$TARGET_SCRIPT" remove "$SLUG"; then + if (cd "$TARGET_SYSTEM_DIR" && "$TARGET_SCRIPT" remove "$SLUG"); then echo "[SUCCESS] Tenant gelöscht: $SLUG" else echo "[ERROR] Fehler beim Löschen von: $SLUG" >&2 fi ;; "restart") - if "$TARGET_SCRIPT" restart-tenant "$SLUG"; then + if (cd "$TARGET_SYSTEM_DIR" && "$TARGET_SCRIPT" restart-tenant "$SLUG"); then echo "[SUCCESS] Tenant neu gestartet: $SLUG" else echo "[ERROR] Fehler beim Neustart von: $SLUG" >&2 @@ -255,7 +267,6 @@ watcher_loop() { } start_tenant_watcher() { - # 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"