homelab-codex-ws/docs/sessions/2026-07-07-okit-wildcard.md
oskar f0522a85dc feat(kb): frontmatter OKF dla 39 session logow
Session logi zostaja w docs/sessions/ (decyzja z etapu 1). Dodany wylacznie
blok frontmattera: type: session-log, visibility: private, status: active,
updated = data ostatniego commita pliku.

Tresc nietknieta — kazdy plik to +9/-0 linii.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 16:53:57 +02:00

60 lines
2.9 KiB
Markdown

---
okf: "0.1"
type: session-log
visibility: private
status: active
updated: 2026-07-07
links: []
---
# Sesja 2026-07-07 — okit.pl Faza 1 (wildcard cert) + przepiecie 9 hostow
## Kontekst
Kontynuacja migracji okit.pl 42.pl -> Cloudflare. Faza 0 (strefa) zrobiona wczesniej.
Dzis: Faza 1 (wildcard cert) + przepiecie zywych vhostow.
## Wykonane
### Weryfikacja Fazy 0 (propagacja)
- dig NS okit.pl = dom.ns/katja.ns.cloudflare.com (spropagowane).
- Autorytatywnie (dig @dom.ns.cloudflare.com): rekordy 1:1 z AXFR, poczta OK.
- WAZNE: Pi-hole split-horizon — Local DNS nadpisuje ~15 okit.pl na 192.168.31.5
(LAN). dig z hosta pokazuje LAN IP, nie Cloudflare. To NIE blad. Cloudflare
autorytatywny ma poprawne IP. Przy Fazie 2 pamietac o OBU warstwach.
### FAZA 1 — wildcard *.okit.pl
- Nowy token Cloudflare "npm-dns01-all-zones" (Zone:DNS:Edit, All zones — obejmuje
kapala + okit + przyszle). Stary "Edit zone DNS" byl tylko 1 zone (kapala).
- npm@PIHA: cert *.okit.pl + okit.pl przez Cloudflare DNS-01 (cert #51 w npm).
Wazny do 2026-10-05, samoodnawialny. Pulapka: literowka ".okit.pl" zamiast
"okit.pl" dawala Internal Error; propagation 5->30s tez pomaga.
### Przepiecie 9 zywych hostow na wildcard (bulk-SQL)
Metoda: keinos/sqlite3 --user root (brak sqlite3 na hoscie i w kontenerze npm).
- Backup bazy npm: /data/database.sqlite.bak-20260707-2210 (w wolumenie).
- UPDATE proxy_host SET certificate_id=51 WHERE id IN (7,16,3,11,1,6,5,10,20).
- KLUCZOWE: sam UPDATE bazy NIE wystarcza! npm generuje .conf per host ze sciezka
certu; baza mowi 51 ale nginx laduje stary. Trzeba sed sciezek w .conf + reload:
sed 's|/live/npm-[0-9]*/|/live/npm-51/|g' na 9 plikach + nginx -t + nginx -s reload.
- Zweryfikowane: openssl pokazuje CN=*.okit.pl do 2026-10-05 dla wszystkich 9.
Przepiete: grafana, home, immich, wiki, pihole, prometheus, zigbee, ngpm, owntracks.
## LEKCJA
Przepinanie certow npm bulk-SQL = DWA kroki (UPDATE bazy + sed .conf + reload),
bo npm nie regeneruje configow z bazy. UI-klik robi to jednym Save (regeneracja).
Przy <15 hostach UI prostsze; bulk oplaca sie dopiero przy duzej skali.
Kontener keinos/sqlite3 --user root do edycji bazy npm (gdy brak sqlite3).
## NIE ruszone (swiadomie)
- forgejo, vikunja, foty, ha, immich.kapala -> juz na *.kapala.org (cert 49)
- owntracks-frontend -> czeka na mesh (Faza 2)
- outline, joplin, agents -> NIE na PIHA! Zyja na VPS-npm (drugi npm do sprawdzenia)
## TODO nastepne sesje
- FAZA 2: mesh/public reorg, owntracks-frontend->mesh, audyt martwych vhostow
(dysk vault portainer hai audiobooks budget tasmota node-red printer router
code-server ap slzb hagc ha-embed — 000/502, sprawdzic zywe/usunac).
- Drugi npm na VPS (outline/joplin/agents tam) — analogiczny wildcard *.okit.pl?
- Sprzatanie starych certow okit.pl w npm (npm-2..48) — wygasna same, kosmetyka.
- 9 decyzji Paperless/Nextcloud (DECYZJE-do-podjecia.md) -> deploy modulow 2-5 KB.