Vereinheitliche Stack-Steuerung auf scripts/lab.sh

Eine einzige Quelle der Wahrheit fuer alle Stack-Aktionen statt
doppelt gepflegter Verb-Tabellen in Makefile und PowerShell-Wrapper.

- scripts/lab.sh: zentraler Dispatcher (bootstrap/up/redeploy/
  proxy-reload/down/logs/reset/reset-hard/reset-origin)
- workshop.ps1: switch-Tabelle kollabiert zu Delegation an lab.sh
  (kein --remove-orphans-Drift mehr zwischen den Oberflaechen)
- Makefile entfernt: WSL/Ubuntu bringt make nicht standardmaessig
  mit, Doku-Verben (make X) passten nicht zur PowerShell-Mehrheit
- bootstrap.sh: Logik inline, redundante bootstrap-unix.sh und
  bootstrap-wsl.sh entfernt
- Doku/HTML: alle 32 "make X" -> "./scripts/lab.sh X", Prosa
  (macOS-make-Hinweis, PowerShell-Wrapper-Text) angepasst

Verifiziert: bootstrap -> proxy-reload -> redeploy -> reset laufen
end-to-end gegen den Stack, Basisrouten und Done-Checks gruen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hkoeck
2026-05-31 22:30:16 +02:00
parent 79a13f0919
commit 4da7890119
11 changed files with 92 additions and 119 deletions
+4 -4
View File
@@ -165,7 +165,7 @@
<section class="panel">
<h1>Solutions Board (detailliert)</h1>
<p>Hier stehen absichtlich konkrete Musterloesungen mit Snippets, Checks und typischen Stolperfallen.</p>
<p><span class="kw">Workflow:</span> Nach jeder Konfig-Aenderung mindestens <code>make proxy-reload</code>, bei Compose-Aenderungen <code>make redeploy</code>.</p>
<p><span class="kw">Workflow:</span> Nach jeder Konfig-Aenderung mindestens <code>./scripts/lab.sh proxy-reload</code>, bei Compose-Aenderungen <code>./scripts/lab.sh redeploy</code>.</p>
<div class="top-links">
<a class="pill" href="/">Startseite</a>
<a class="pill" href="/challenges.html">Challenges</a>
@@ -317,11 +317,11 @@ done</code></pre>
<p><span class="kw">Ablauf:</span> Zuerst die eigene Config sichern (diese Challenge ueberschreibt sie!), dann die kaputte aktivieren, Fehler beheben und am Ende die eigene Config wiederherstellen.</p>
<pre><code>cp proxy/nginx.conf proxy/nginx.conf.bak # 1. eigene Config sichern
cp proxy/nginx.broken.conf proxy/nginx.conf # 2. kaputte aktivieren
make proxy-reload
./scripts/lab.sh proxy-reload
./scripts/compose.sh logs reverse-proxy # 3. Fehler finden + fixen</code></pre>
<p><span class="kw">Am Ende eigene Config zurueck:</span></p>
<pre><code>cp proxy/nginx.conf.bak proxy/nginx.conf
make proxy-reload</code></pre>
./scripts/lab.sh proxy-reload</code></pre>
<p><span class="kw">Konkrete Fehler und Fixes:</span></p>
<ol>
<li><span class="kw">Upstream-Mismatch:</span> <code>backend_a_typo</code> ist definiert, aber <code>backend_a</code> wird referenziert -> Namen angleichen.</li>
@@ -357,7 +357,7 @@ cd certs/easyrsa
volumes:
- ./certs/live:/etc/nginx/certs:ro,z</code></pre>
<p><span class="kw">Wichtig:</span> Nicht die komplette PKI in den Container mounten. Nur Runtime-Zertifikat + Key bereitstellen.</p>
<p><span class="kw">Deploy:</span> Port- und Volume-Aenderungen sind Compose-Aenderungen &rarr; <code>make redeploy</code> (nicht <code>make proxy-reload</code>), sonst greift der neue Port nicht.</p>
<p><span class="kw">Deploy:</span> Port- und Volume-Aenderungen sind Compose-Aenderungen &rarr; <code>./scripts/lab.sh redeploy</code> (nicht <code>./scripts/lab.sh proxy-reload</code>), sonst greift der neue Port nicht.</p>
<p><span class="kw">Nginx TLS-Pfade:</span> <code>ssl_certificate /etc/nginx/certs/localhost.crt;</code> und <code>ssl_certificate_key /etc/nginx/certs/localhost.key;</code></p>
<p><span class="kw">Check:</span> <code>curl https://localhost:8443/service/a</code> (ohne <code>-k</code> nach CA-Import)</p>
</details>