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:
@@ -298,7 +298,7 @@ curl http://localhost:8080/service/b # -> "Target B"
|
||||
<details>
|
||||
<summary><span class="badge hard">Hard</span> 10) HTTPS von 0 (Easy-RSA)</summary>
|
||||
<p>Zertifikat fuer <code>localhost</code>, Port <code>8443:443</code>, Root-CA importiert.</p>
|
||||
<p><span class="kw">Wichtig:</span> Der neue Port ist eine Compose-Aenderung → mit <code>make redeploy</code> deployen, nicht nur <code>make proxy-reload</code>.</p>
|
||||
<p><span class="kw">Wichtig:</span> Der neue Port ist eine Compose-Aenderung → mit <code>./scripts/lab.sh redeploy</code> deployen, nicht nur <code>./scripts/lab.sh proxy-reload</code>.</p>
|
||||
<p><span class="kw">Warum wichtig:</span> TLS-Grundaufbau ist Voraussetzung fuer vertrauliche und manipulationssichere Kommunikation.</p>
|
||||
<p><span class="kw">Zielzustand:</span> Aufruf liefert Backend A <b>ohne</b> <code>-k</code> (kein SAN-/Zertifikatsfehler). Zertifikat mit SAN signieren!</p>
|
||||
<pre><code>curl https://localhost:8443/service/a # -> Backend A, KEIN "SSL certificate problem"</code></pre>
|
||||
|
||||
@@ -149,14 +149,14 @@
|
||||
</article>
|
||||
<article class="card">
|
||||
<h3>Neu deployen</h3>
|
||||
<pre><code>make redeploy
|
||||
make proxy-reload</code></pre>
|
||||
<pre><code>./scripts/lab.sh redeploy
|
||||
./scripts/lab.sh proxy-reload</code></pre>
|
||||
<p>PowerShell: <code>./scripts/workshop.ps1 -Action redeploy</code></p>
|
||||
</article>
|
||||
<article class="card">
|
||||
<h3>Reset</h3>
|
||||
<pre><code>make reset
|
||||
make bootstrap</code></pre>
|
||||
<pre><code>./scripts/lab.sh reset
|
||||
./scripts/lab.sh bootstrap</code></pre>
|
||||
<p>PowerShell: <code>./scripts/workshop.ps1 -Action reset</code></p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
@@ -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 → <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 → <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>
|
||||
|
||||
Reference in New Issue
Block a user