#!/usr/bin/env bash set -euo pipefail # Zentrale Steuer-Oberflaeche fuer den Workshop-Stack. # Eine einzige Quelle der Wahrheit fuer alle Aktionen - der PowerShell-Wrapper # (scripts/workshop.ps1) ruft genau dieses Skript in WSL auf. SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" usage() { echo "usage: lab.sh {bootstrap|up|redeploy|proxy-reload|down|logs|reset|reset-hard|reset-origin}" } case "${1:-}" in bootstrap) "$SCRIPT_DIR/bootstrap.sh" ;; up) "$SCRIPT_DIR/compose.sh" up -d --build ;; redeploy) "$SCRIPT_DIR/compose.sh" up -d --build --remove-orphans "$SCRIPT_DIR/compose.sh" restart reverse-proxy ;; proxy-reload) "$SCRIPT_DIR/compose.sh" restart reverse-proxy ;; down) "$SCRIPT_DIR/compose.sh" down ;; logs) "$SCRIPT_DIR/compose.sh" logs -f ;; reset) "$SCRIPT_DIR/reset-lab.sh" ;; reset-hard) "$SCRIPT_DIR/reset-lab.sh" --hard ;; reset-origin) "$SCRIPT_DIR/reset-lab.sh" --hard-origin ;; -h|--help|"") usage ;; *) echo "[error] unbekannte Aktion: $1"; usage; exit 2 ;; esac