homelab-codex-ws/docs/sessions/2026-08-26-kb-incydent-mailsync.md
oskar 4fa10f0a72 docs(kb): incydent 20 dni ciszy kb-mail-sync + session log
Dwa niezalezne root cause: PermissionError na save_eml (archiwum
root:root po sudo-runach 06.08) + fleet-prometheus nigdy nie dostal
/-/reload po dodaniu regul kb-mail-sync.yml/kb-ingest.yml (zylo tylko
fleet-liveness). Naprawa: chown archiwum + 2 tick recovery (548 kopert,
0 bledow) + reload Prometheusa z weryfikacja lancucha alertowego
end-to-end (brain-watchdog->Telegram wpiety poprawnie).
2026-08-26 20:39:45 +02:00

2.1 KiB
Raw Blame History

okf type visibility status updated links
0.1 session-log private active 2026-08-26

Sesja 2026-08-26 — incydent kb-mail-sync: 20 dni ciszy, wykryte i naprawione

Timeline

  • Wykrycie — przy sanity checku po 3 tygodniach bez nadzoru (kontynuacja sesji 16:00, patrz docs/sessions/2026-08-26.md): mail-imap-sync nie zapisał żadnej koperty od 2026-08-06 18:01 (pierwszy i jedyny udany tick automatu) mimo że timer tykał godzinowo przez 20 dni. ~548 maili zaległości.
  • DiagnozaPermissionError na save_eml: katalogi archiwum 2026/08 powstały root:root z ręcznych sudo-runów 06.08, timer działa jako oskar. Kursor nie przeskakiwał niezapisanej wiadomości (zgodnie z projektem) — stąd cisza bez utraty poczty, ale też bez sygnału.
  • Naprawa zapisuchown -R oskar:oskar na archiwum + dwa ręczne ticki: run#1 170 inserted/379 perm-errors (zaległości sprzed chowna), run#2 378 inserted/155 archive_exists/0 errors — pełne odzyskanie.
  • Reload Prometheusa — przez CC z SOLARII (SSH na VPS): promtool check rules OK, POST /-/reload, weryfikacja /api/v1/rules (wszystkie trzy grupy żywe), metryka scrape'owana i świeża, /api/v1/alerts czyste, brain-watchdog→Telegram wpięty poprawnie (PROMETHEUS_URL OK, kontener healthy).

Pełny opis root cause (oba, niezależne) i rekomendacje R1R3: kb/incidents/2026-08-26-mail-sync-20-dni-ciszy.md.

Stan

Przyrostówka znów żywa i po raz pierwszy faktycznie monitorowana — reguła KbMailSyncStale istniała w repo od 06.08, ale dopiero teraz jest realnie załadowana w Prometheusie. Wcześniej alert nie mógł wystrzelić niezależnie od tego, jak długo trwałaby awaria zapisu.

Plan sprzed incydentu — przesunięty

Rotacja haseł (kb-postgres + teraz też TG_TOKEN, wyciekł w tej sesji przez cat .env diagnostyczny — czwarty przypadek tej klasy) i recon Fazy 5 (wiki-kompilat) — obie pozycje przesunięte na następną sesję, nie ruszone dzisiaj poza samą diagnozą.