homelab-codex-ws/kb/services
oskar 41d3543082 docs(kb): kb-site — dokument serwisu (public) + runbook deployu (private)
kb/services/kb-site.md (type: service, visibility: public) — opis samej
wystawki: co jest publikowane (regula fail-closed na `visibility`), jak
renderowane sa odnosniki do dokumentow nieopublikowanych, struktura builda,
stopka z commitem, bramka --check. Napisany tak, zeby sam przechodzil --check:
zero adresow, portow i sciezek hosta — szczegoly operacyjne siedza w runbooku.

kb/runbooks/kb-site-deploy.md (type: runbook, visibility: private) — pelna
procedura: deploy na PIHA, generacja + kontrola wyciekow jako bramka
publikacji, podmiana tresci w wolumenie helperem alpine (wzorzec z
services/narty27/README.md, rozszerzony z pliku na drzewo), rekord A w
Cloudflare + Pi-hole local DNS (split-horizon), proxy host i cert przez
scripts/npm/npm_api.py, weryfikacja, rutynowa aktualizacja jednym lancuchem
&&, tabela rollback/typowe problemy.

Dwie rzeczy zapisane wprost, bo latwo je przeoczyc:
- kolejnosc DNS -> NPM host -> cert (HTTP-01 wymaga dzialajacego vhosta),
- `rm -rf /content/*` przed rozpakowaniem — bez tego dokument przelaczony z
  public na private zostaje w wolumenie i dalej jest serwowany.

Runbook notuje tez aktualny wynik --check (22 trafienia /opt/homelab w
dokumentach public) jako decyzje do podjecia przed pierwsza publikacja:
wyczyscic zrodla albo swiadomie wpisac wyjatek do whitelisty.
2026-08-04 18:01:56 +02:00
..
brain-watchdog.md feat(kb): stuby dla katalogow z kodem bez README (8 plikow) 2026-08-04 16:58:04 +02:00
chelsty-stability-agent.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
control-plane.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
fleet-prometheus.md feat(kb): SPLIT fleet-prometheus -> service + decision + runbook 2026-08-04 16:58:46 +02:00
forgejo.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
gokapi.md feat(kb): SPLIT gokapi -> service + decision + runbook 2026-08-04 16:58:46 +02:00
ha-diag-agent.md feat(kb): SPLIT service+runbook — 10 serwisow -> 20 dokumentow 2026-08-04 16:58:46 +02:00
ha-mcp.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
home-assistant-ken-legacy.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
home-assistant.md feat(kb): SPLIT service+runbook — 10 serwisow -> 20 dokumentow 2026-08-04 16:58:46 +02:00
ir-ac-ha-integration.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
job-deploy-runner.md feat(kb): SPLIT deploy-runner -> service + decision + runbook 2026-08-04 16:58:46 +02:00
job-documents-ingest.md fix(kb): 13 pozostalych odwolan do sciezek sprzed migracji 2026-08-04 17:02:12 +02:00
job-gmail-bulk-import.md feat(kb): stuby dla katalogow z kodem bez README (8 plikow) 2026-08-04 16:58:04 +02:00
job-gmail-header-backfill.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
job-mail-body-ingest.md fix(kb): DoD mail-body-ingest — 48/48 -> 55/55 testow 2026-08-04 17:38:04 +02:00
joplin.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
kb-postgres.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
kb-query.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
kb-site.md docs(kb): kb-site — dokument serwisu (public) + runbook deployu (private) 2026-08-04 18:01:56 +02:00
llm-gateway.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
mosquitto.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
narty27.md feat(kb): SPLIT service+runbook — 10 serwisow -> 20 dokumentow 2026-08-04 16:58:46 +02:00
nextcloud.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
node-agent.md feat(kb): stuby dla katalogow z kodem bez README (8 plikow) 2026-08-04 16:58:04 +02:00
node-exporter.md feat(kb): stuby dla katalogow z kodem bez README (8 plikow) 2026-08-04 16:58:04 +02:00
npm.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
ollama-piha.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
ollama.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
paperless-worker.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
paperless.md fix(kb): przepiecie wszystkich odwolan wewnetrznych po migracji 2026-08-04 16:58:46 +02:00
pkg-kb-mail.md feat(kb): stuby dla katalogow z kodem bez README (8 plikow) 2026-08-04 16:58:04 +02:00
pkg-kb-retrieval.md feat(kb): stuby dla katalogow z kodem bez README (8 plikow) 2026-08-04 16:58:04 +02:00
planner-agent.md feat(kb): SPLIT service+runbook — 10 serwisow -> 20 dokumentow 2026-08-04 16:58:46 +02:00
stability-agent.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
vikunja.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00
zigbee2mqtt.md feat(kb): przenosiny type=service do kb/services/ (13 plikow, bez SPLIT) 2026-08-04 16:58:04 +02:00