docs(kb-query): confirm Cloudflare A-record for kb.kapala.org is live

Operator added the A-record manually; verified against Cloudflare's own
authoritative NS (which briefly still returned NXDOMAIN — not a propagation
lag, the record simply wasn't saved yet on first check) plus 8.8.8.8/1.1.1.1.
Both DNS layers (Cloudflare public/Tailscale + Pi-hole LAN override) and the
vhost now confirmed working end-to-end.
This commit is contained in:
oskar 2026-07-23 18:37:11 +02:00
parent fbe81f9bf5
commit b7fe813576
2 changed files with 26 additions and 11 deletions

View file

@ -39,13 +39,23 @@ domen kapala.org" była błędna. Nie dotykano innych vhostów (poza zakresem)
retrofit pozostałych `kapala.org` do LAN split-horizon to osobny, potencjalny
follow-up.
### 3. Cloudflare A-record — częściowo poza tą sesją
Brak tokena Cloudflare API w środowisku wykonawczym. Operator dodaje ręcznie:
`kb.kapala.org``100.108.208.3` (Tailscale PIHA), DNS only — analogicznie do
`paper./ha./immich./vikunja./forgejo.kapala.org`. Bez tego rekordu
`kb.kapala.org` rozwiązuje się wyłącznie w LAN (Pi-hole); poza LAN (Tailscale)
nie zadziała, dopóki operator nie doda rekordu. Status: **do potwierdzenia
przez operatora**, nie zweryfikowane w tej sesji.
### 3. Cloudflare A-record
Brak tokena Cloudflare API w środowisku wykonawczym — operator dodał ręcznie
przez dashboard: `kb.kapala.org``100.108.208.3` (Tailscale PIHA), DNS only,
analogicznie do `paper./ha./immich./vikunja./forgejo.kapala.org`. Zweryfikowane
w tej samej sesji, osobnym przebiegiem po zgłoszeniu przez operatora:
- Pierwsza próba (`dig @8.8.8.8`/`@1.1.1.1`) — pusta odpowiedź, `dig
@dom.ns.cloudflare.com` (autorytatywny NS strefy) zwracał SOA/NXDOMAIN dla
`kb.kapala.org`, podczas gdy `paper.kapala.org` na tym samym serwerze
odpowiadał poprawnie — **nie opóźnienie propagacji, rekord faktycznie
jeszcze nie istniał** w strefie w momencie pierwszej weryfikacji.
- Operator poprawił/dokończył zapis w dashboardzie; ponowny `dig` (ten sam
autorytatywny NS + 8.8.8.8 + 1.1.1.1) → `100.108.208.3`, TTL 300, zgodne z
pozostałymi `kapala.org`. `curl https://kb.kapala.org/healthz``200`,
cert `*.kapala.org` ważny, treść zgodna.
- Pi-hole split-horizon (LAN → `192.168.31.5`) niezmieniony, zweryfikowany
ponownie po zmianie w CF — obie warstwy działają niezależnie, jak
zaprojektowano.
### 4. OIDC — STOP wg instrukcji zadania
Potwierdzone w repo (zgodnie z `05-faza4-plan.md` §1.4): **brak wzorca
@ -85,6 +95,10 @@ username collision, `docs/sessions/2026-07-10-paperless-deploy.md`).
smoke-test tej sesji).
- Rozwiązywanie `kb.kapala.org` z hosta LAN (SOLARIA, resolver = Pi-hole) →
`192.168.31.5`, potwierdzone `dig`/`getent hosts`.
- Rozwiązywanie `kb.kapala.org` z publicznych resolverów (8.8.8.8, 1.1.1.1) i
z autorytatywnego NS strefy (`dom.ns.cloudflare.com`) → `100.108.208.3`,
TTL 300 — zweryfikowane po dodaniu rekordu przez operatora, `curl` przez tę
ścieżkę → `200`.
- Auth: brak (zgodnie z decyzją) — nic nie powinno wymagać logowania, i nic
nie wymaga (potwierdzone: `/search` i `/healthz` odpowiadają bez tokenu).
@ -94,7 +108,7 @@ username collision, `docs/sessions/2026-07-10-paperless-deploy.md`).
|---|---|
| npm@PIHA vhost #35 kb.kapala.org → 192.168.31.5:8230, cert 49 | ✅ LIVE |
| Pi-hole custom.list kb.kapala.org → 192.168.31.5 | ✅ LIVE (pierwszy kapala.org wpis) |
| Cloudflare A kb.kapala.org → 100.108.208.3 | ⏳ operator, ręcznie, nie zweryfikowane |
| Cloudflare A kb.kapala.org → 100.108.208.3 | ✅ LIVE (dodany przez operatora, zweryfikowany) |
| OIDC | ⛔ świadomie odłożone — osobna sesja z kodem |
## Pliki repo zmienione

View file

@ -133,9 +133,10 @@ change in this service** — pure infra step:
for those too. Not fixed here (out of this task's scope — no other vhosts
touched); worth a follow-up if it matters for those services.
- Cloudflare A record `kb.kapala.org``100.108.208.3` (Tailscale PIHA, DNS
only): pending manual step by the operator (no CF API token available in
the environment that did this step) — without it, `kb.kapala.org` resolves
only on the LAN (Pi-hole), not over Tailscale from outside.
only): added manually by the operator (no CF API token available in the
environment that did the rest of this step), verified against Cloudflare's
own authoritative NS and 8.8.8.8/1.1.1.1 — resolves everywhere now, both
LAN (via Pi-hole override) and Tailscale/public (via this record).
**No auth.** OIDC (plan §8: `authlib`, `/login`, `/auth/callback`) is explicitly
**not implemented** — confirmed no forward-auth/reverse-proxy-level auth pattern