homelab-codex-ws/kb/incidents/2026-07-22-ha-ken-cutover-legacy.md
oskar 89be9b9780 feat(kb): SPLIT backlog.md (72 KB) -> 19 dokumentow + cienki indeks
Rozstrzygniecie 1. Monolit mieszal cztery typy OKF. Rozbity PER TYP po
granicy sekcji `##`:

  10 x decision  — pozycje backlogu (w tym backlog-aktywne 28 KB
                   i backlog-zamkniete 12 KB, ktore zostaja calosciami)
   7 x incident  — bugi/awarie dotad wtopione w backlog: cutover HA ken,
                   checkpoint observera, ha-diag-agent node=unknown,
                   deploy-local ghost-kontenery, paperless-worker config,
                   deploy-node nie przebudowuje obrazu, ollama bez sterownika
   2 x phase     — HA configs-as-code, monitoring floty Prometheus

kb/phases/backlog.md zostaje jako cienki indeks (type: phase, status: active):
oryginalna preambula + wygenerowany spis linkow do wszystkich 19 elementow.
23 przychodzace odwolania zostaja przepiete na ta sciezke w grupie 7.

NIE rozbijano po `###` (38 pozycji w "Aktywne" + 13 w "Zamkniete" = 51
plikow). Rozstrzygniecie mowi "rozbij per typ", a nie per pozycja;
rozdrobnienie do 51 plikow rozerwaloby czytelnosc backlogu.

Kontrola: preambula + 19 sekcji == oryginal z HEAD (multizbior niepustych
linii). Tresc pozycji nietknieta.

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

2.4 KiB

okf type visibility status updated links
0.1 incident private active 2026-08-03
../phases/backlog.md

Cutover HA "ken": kontener piha to legacy, prawdziwy dom to RPi4/HAOS (2026-07-22)

Data: 2026-07-22 Źródło: recon — dwie instancje HA równolegle sterowały domem (kontener homeassistant5 na piha + RPi4 HAOS 192.168.31.7), patrz services/home-assistant/DESIGN.md sekcja "Incident log". instances.yaml naprawiony w tej samej sesji: ken = 192.168.31.7 (api), ken-legacy = dawny kontener piha (docker-exec, archived).

Do zrobienia:

  1. ha-diag-agent na piha: przepiąć z http://localhost:8123 (celuje w legacy!) na http://192.168.31.7:8123 — wymaga nowego tokenu diag_agent wystawionego na instancji 31.7 (obecny token jest dla kontenera piha i nie zadziała na nowym targecie).
  2. Wygaszenie homeassistant5: import archiwalny do services/home-assistant/config/ken-legacy/docker stop (BEZ rm) → 7 dni obserwacji (upewnić się, że nic w domu nie polega na tym kontenerze) → decyzja o docker rm.
  3. ZROBIONE (2026-07-22) — Adapter api w import.sh dla ken: automatyzacje/skrypty/sceny przez /api/config/<domain>/config/<id> (REST), dashboardy/area+entity registry/input_* helpery przez websocket API (scripts/ha/lib/ha_api.py, ha_ws.py, import_api.py). Pierwszy realny import ken zaimportował 118 automatyzacji, 5 skryptów, 3 sceny, 7 dashboardów (default + 6 named; jeden zarejestrowany dashboard nigdy nie skonfigurowany — config_not_found, odnotowany w raporcie, nie twardy błąd). Pełny import /config pozostaje poza zasięgiem (HAOS bez SSH) — patrz DESIGN.md.
  4. ZROBIONE (2026-07-22) — scripts/ha/deploy.sh, adapter api, zakres automations/scripts/scenes: drift-check (świeży re-import vs. HEAD, dowolna różnica poza plikami z tego deployu = abort z diffem) → walidacja (lokalny sanity check + check_config na instancji) → zapis per obiekt (POST /api/config/<domain>/config/<id>) → verify (GET + porównanie, bez auto-rollbacku). --dry-run zweryfikowany na żywym ken (read-only, bez różnic). Testy offline: scripts/ha/tests/test_deploy_api_offline.sh. Poza zakresem: dashboardy/ helpery (WS, brak mutującej komendy), adapter docker-exec, DELETE obiektów usuniętych z repo (tylko ostrzeżenie).