broker: hourly vacuum of delivered messages older than 30 days

undelivered rows are always kept regardless of age (still in flight).
sweep runs immediately on serve start then every hour. logs row count
when non-zero. keep_secs is hard-coded for now (30 days); can be
config-driven later if a host wants to retain more / less for audit.
This commit is contained in:
müde 2026-05-15 19:40:38 +02:00
parent a9ed33d94f
commit 6d52f67292
3 changed files with 31 additions and 2 deletions

View file

@ -114,8 +114,6 @@ Pick anything from here when relevant. Cross-cutting design notes live in
## Lifecycle / reliability
- **Bounded broker.** Cap rows per recipient or auto-vacuum delivered
messages older than a threshold. sqlite is growing unbounded.
- **Container crash events.** Watch `container@*.service` via D-Bus, push
`HelperEvent::ContainerCrash` to the manager's inbox so the manager can
react (restart, escalate, etc.).