homelab-codex-ws/kb/decisions/backlog-deploy-runner-instalacja.md
oskar 8d601e14b0 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:20:40 +02:00

1.9 KiB

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

deploy-runner: instalacja na węzłach + E2E redeployu (2026-08-03)

Data: 2026-08-03 Źródło: sesja task/redeploy-fix — recon D14/D15 + OPEN QUESTION 4 (nieopróżniona kolejka akcji). Było: redeploy nie mógł się wykonać nigdy. Executor odpalał scripts/deploy/deploy-node.sh <node> <service> wewnątrz swojego kontenera — skrypt ignoruje oba argumenty i wymaga repo w ${HOME}/homelab-codex-ws (w kontenerze HOME=/home/homelab, katalog nie istnieje) → exit 1 w 18. linii. Za tym stały jeszcze trzy blokady: brak git, brak klienta docker w obrazie oraz — gdyby przeszedł — deploy całego zestawu usług hosta executora, nie węzła z akcji. Stąd healthcheck_failed przekierowany 2026-07-29 na container_restart i 18 pending / 0 completed. Zrobione w repo (ta sesja): scripts/deploy/deploy-service.sh (deploy jednej usługi, wspólny z deploy-node.sh — ta sama inwokacja compose, więc ta sama nazwa projektu), jobs/deploy-runner/ (systemd na hoście: rsync-pull akcji, walidacja, deploy, action_result z powrotem), executor dispatchuje redeploy do actions/deploy/<node>/ i rozlicza je jak container_restart (REDEPLOY_TIMEOUT_SECS=900). 248 testów zielonych. Do zrobienia (runtime, wymaga operatora):

  1. Deploy control-plane na VPS (nowy executor + ../..:/repo:ro).
  2. Instalacja jobs/deploy-runner/ na vps, piha, solaria — patrz README („Install (per node)"). Na VPS VPS_EVENTS_HOST musi zostać puste.
  3. E2E na benignej usłudze na PIHA (wzorzec test-e2e-b z 2026-07-23), potem opróżnienie kolejki 18 pending — w tym redeploy-vps-gokapi.
  4. SOLARIA: group_add: "996" dla node-agenta wciąż niewdrożony (recon 641-649) — dopóki nie wejdzie, container_restart tam nie działa (redeploy działa, bo nie idzie przez node-agenta).