diff --git a/Website/launch.sh b/Website/launch.sh index 39b8f9d..a69e716 100755 --- a/Website/launch.sh +++ b/Website/launch.sh @@ -192,7 +192,7 @@ get_free_port() { check_port=10002 fi - # Falls der Port schon vergeben ist, schrittweise erhöhen bis ein freier Port gefunden wird + # Falls Port belegt ist, den nächsten freien ermitteln while echo "$used_ports" | grep -q -w "$check_port"; do echo "[INFO] Port $check_port ist belegt. Prüfe $(($check_port + 1))..." >&2 check_port=$((check_port + 1)) @@ -207,12 +207,10 @@ watcher_loop() { while true; do for file in "$trigger_dir"/*.json; do - # Überspringen, wenn keine Dateien da sind [ -f "$file" ] || continue echo "[INFO] Verarbeite Trigger: $file" - # JSON auslesen (mit jq oder grep als Fallback) if command -v jq >/dev/null 2>&1; then ACTION=$(jq -r '.action // "add"' "$file" 2>/dev/null || echo "add") SLUG=$(jq -r '.slug // empty' "$file" 2>/dev/null || true) @@ -237,15 +235,15 @@ watcher_loop() { case "$ACTION" in "add") if [ -n "$PASS" ]; then - # Freien Port über `manage-tenant.sh list` ermitteln + # 1. Port prüfen & ermitteln ACTUAL_PORT=$(get_free_port "$PORT") echo "[INFO] Verwende Port $ACTUAL_PORT für Tenant $SLUG" - # 1. Tenant erstellen + # 2. Tenant anlegen (mit Passwort strikt als 3. Argument in Quotes) if (cd "$TARGET_SYSTEM_DIR" && "$TARGET_SCRIPT" add "$SLUG" "$ACTUAL_PORT" "$PASS"); then echo "[SUCCESS] Tenant bereitgestellt: $SLUG (Port: $ACTUAL_PORT)" - # 2. Wenn Module übergeben wurden, diese im Anschluss konfigurieren + # 3. Module konfigurieren if [ -n "$MODULES" ]; then echo "[INFO] Konfiguriere Module für $SLUG: $MODULES" # shellcheck disable=SC2086 @@ -281,7 +279,6 @@ watcher_loop() { ;; esac - # Nach Verarbeitung Trigger-Datei löschen rm -f "$file" done sleep 2