From cd7226157577229a5f7c8e332b580bd08783c195 Mon Sep 17 00:00:00 2001 From: oskar Date: Wed, 26 Aug 2026 17:03:04 +0200 Subject: [PATCH] docs: session 2026-08-26 16:00 --- docs/sessions/2026-08-26.md | 71 +++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 docs/sessions/2026-08-26.md diff --git a/docs/sessions/2026-08-26.md b/docs/sessions/2026-08-26.md new file mode 100644 index 0000000..82b8824 --- /dev/null +++ b/docs/sessions/2026-08-26.md @@ -0,0 +1,71 @@ +## Session 16:00 + +Recon floty po 3 tygodniach bez nadzoru (ostatnia sesja 2026-08-06) + sesja +naprawcza: (A) usunięcie watchtowera z LUSTRO jako reliktu spoza GitOps, +(B) higiena kolejek `actions/pending` i zawieszonych incydentów `active` na VPS. +SUPERVISED — checkpointy A/B/C zatwierdzane przez operatora, backup przed +każdą operacją destrukcyjną. + +### Commits + +Ta sesja nie wprowadziła żadnych commitów w kodzie poza niniejszym logiem — +wyłącznie operacje na nodach (LUSTRO, VPS). Jeden niepowiązany commit +(`003f83d`, kb-publish skill) doszedł na `master` od równoległej sesji +operatora w międzyczasie — poza zakresem tej sesji. + +``` +(brak commitów tej sesji) +``` + +### Files changed + +Brak zmian w repo. + +### Deploys / operacje na nodach + +**Recon (read-only, wszystkie 4 węzły: SOLARIA, PIHA, VPS, LUSTRO):** +- Zero nowych commitów na `origin/master` przez 3 tygodnie. +- Soak test R1 (auto-cleanup node-agenta): PIHA 20/20 uruchomień 0 usunięć, + VPS 21/21 uruchomień 0 usunięć, SOLARIA 3/3 0 usunięć, LUSTRO 5/5 — + 1 usunięcie (`prune-disposable`, celowy kanarek testowy z 08-06, zgodnie + z zamysłem). Zero ofiar wśród kontenerów chronionych. `rc=23` nie wystąpił + ani razu — fix `0o775` z sesji 08-06 trzyma. +- Zdiagnozowano ciągłą pętlę restartów `pi-watchtower-1` na LUSTRO (API + Docker 1.25 vs wymagane min. 1.40), trwającą nieprzerwanie od co najmniej + 2026-08-06 04:31. + +**Watchtower LUSTRO — usunięcie (checkpoint A→B, zatwierdzony):** +- Backup: `docker inspect` + `compose.yml` + pusty katalog `/home/pi/watchtower` + → `/home/pi/watchtower-removal-backup-2026-08-26/` na LUSTRO. +- `docker stop` + `docker rm pi-watchtower-1`, `docker rmi containrrr/watchtower:latest`, + `/home/pi/compose.yml` (jedyne źródło autostartu — brak systemd/cron) przeniesiony + do backupu jako `.disabled`. +- Weryfikacja: `docker ps -a` na LUSTRO czyste; 7 min ciszy zdarzeń + `containers_not_running-watchtower` na VPS (wymagane min. 5 min). + +**Higiena kolejek VPS (checkpoint C→wykonanie, zatwierdzony):** +- Backup: `tar czf /opt/homelab/backups/actions-incidents-2026-08-26.tgz` + (`actions/` + `world/incidents.json`), sha256 `ef9afbfa...`. +- 17/18 pending → `cancelled/` (`stale_manual_cleanup`): 16× stare + `alert-node-*`/`alert-ha-*` z czerwca + 1× shadow-mode HA-websocket z 13.08 + (kolizja nazwy pliku z niepowiązanym wpisem z 08-06 — zapisany pod nową + nazwą `container-restart-piha-homeassistant-shadowmode-20260813.json`, + żeby nie nadpisać cudzej historii). +- `redeploy-vps-gokapi` **pozostawiony** — realna luka wdrożeniowa (desired + w `hosts/vps/services.yaml`, brak kontenera), nie cruft. Follow-up do + sesji deploy. +- 5 incydentów w `world/incidents.json` ręcznie przełączonych na `resolved` + (`piha-homeassistant`, `solaria-narty27`, `solaria-prune-canary`, + `lustro-prune-canary`, `lustro-watchtower`) — wszystkie zdiagnozowane jako + trwale osierocone (brak mechanizmu auto-resolve dla zniknionej/przeniesionej + usługi, patrz Narrative). +- Sekwencja bez wyścigu: `docker stop control-plane-observer` → edycja pliku + → `docker start` → weryfikacja >15 s (kilka cykli flush) — bo `_save_world()` + nadpisuje `world/*.json` co 5 s z pamięci procesu, bez merge z dyskiem. +- Efekt uboczny własnego restartu: `inc-...-vps-observer` (1 wystąpienie) — + rozwiązał się sam w ~60 s (poprawny, nieosierocony przypadek). +- Stan końcowy: `active_incidents_count: 0`, `runtime-summary.json status: nominal`. + +### Narrative + +> _user-provided summary_