Add LAN-only status UI for caddy-autogen
This commit is contained in:
@@ -27,32 +27,22 @@ Konfigurera lokal DNS (AdGuard Home):
|
||||
- `A`/rewrite för `*.home.example.com` -> ZimaOS LAN-IP
|
||||
- `A`/rewrite för `home.example.com` -> ZimaOS LAN-IP
|
||||
|
||||
## 3) Positivt test: endpoint skapas korrekt
|
||||
|
||||
Exempel med Frigate (web UI på 5000):
|
||||
|
||||
Sätt env-vars på Frigate-containern:
|
||||
|
||||
```text
|
||||
LABEL_CADDY_ENABLE=true
|
||||
LABEL_CADDY_TARGET_PORT=5000
|
||||
LABEL_CADDY_HOST=frigate
|
||||
LABEL_CADDY_SCHEME=http
|
||||
LABEL_CADDY_PATH=/
|
||||
```
|
||||
|
||||
Verifiera:
|
||||
## 3) Positivt test: status-UI + endpoint
|
||||
|
||||
1. Vänta 15-30 sekunder (default polling).
|
||||
2. Öppna `https://frigate.home.example.com`.
|
||||
3. Kontrollera att sidan svarar med giltigt certifikat.
|
||||
4. Kontrollera att media-portar (8554/8555) inte blivit egna hostnamn/endpoints.
|
||||
2. Öppna `http://<zima-lan-ip>:31820/`.
|
||||
3. Verifiera i UI:
|
||||
- `Caddy Apply = OK`
|
||||
- `Cloudflare Reachability = OK`
|
||||
- `Cloudflare Token = OK`
|
||||
- minst en route visas under `Generated Hosts`.
|
||||
4. Öppna en exponerad host, t.ex. `https://frigate.home.example.com`.
|
||||
|
||||
Förväntat resultat:
|
||||
|
||||
- Endpoint finns för web UI.
|
||||
- UI laddar och visar aktuell status.
|
||||
- Endpoint finns för web UI-hosten.
|
||||
- Certifikat utfärdas via Let's Encrypt DNS-01.
|
||||
- Endast explicit målport routas.
|
||||
|
||||
## 4) Negativt test: fail-closed
|
||||
|
||||
@@ -60,24 +50,26 @@ Scenario A, ingen opt-in:
|
||||
|
||||
1. Ta bort `LABEL_CADDY_ENABLE=true` från målcontainern.
|
||||
2. Vänta en polling-cykel.
|
||||
3. Kontrollera att endpointen försvinner/slutar routas.
|
||||
3. Verifiera i status-UI att routen försvinner.
|
||||
|
||||
Scenario B, saknad Cloudflare-token:
|
||||
Scenario B, saknad/ogiltig Cloudflare-token:
|
||||
|
||||
1. Sätt `REQUIRE_CLOUDFLARE=true`.
|
||||
2. Ta bort eller ogiltiggör `CLOUDFLARE_API_TOKEN`.
|
||||
3. Verifiera att ingen ny extern route publiceras.
|
||||
3. Verifiera i status-UI att Cloudflare Token inte är OK.
|
||||
4. Verifiera att ingen ny extern route publiceras.
|
||||
|
||||
Förväntat resultat:
|
||||
|
||||
- Appen exponerar inte tjänster oavsiktligt.
|
||||
- Loggar visar tydligt fel kring token/Cloudflare.
|
||||
- Loggar visar tydligt token/Cloudflare-relaterat fel.
|
||||
|
||||
## 5) Kommandon för snabb verifiering
|
||||
|
||||
Byt `<domain>` och `<host>` enligt din miljö.
|
||||
Byt `<domain>`, `<host>` och `<zima-lan-ip>` enligt din miljö.
|
||||
|
||||
```bash
|
||||
curl -sS http://<zima-lan-ip>:31820/status.json | jq .
|
||||
nslookup frigate.home.example.com
|
||||
curl -vk https://frigate.home.example.com/
|
||||
openssl s_client -connect frigate.home.example.com:443 -servername frigate.home.example.com </dev/null
|
||||
@@ -106,6 +98,7 @@ Samla detta först. Det kortar felsökningstiden avsevärt.
|
||||
- Målcontainerns publicerade portar.
|
||||
|
||||
3. Nät/TLS-bevis:
|
||||
- `curl -sS http://<zima-lan-ip>:31820/status.json | jq .`.
|
||||
- `nslookup`-svar från en LAN-klient.
|
||||
- `curl -vk` output mot endpoint.
|
||||
- `openssl s_client` sammanfattning av cert/issuer.
|
||||
|
||||
Reference in New Issue
Block a user