feat(monitor): auto-prune expired maintenance windows #96

Merged
lerko merged 1 commits from feat/maintenance-window-pruning into main 2026-06-05 22:48:41 +00:00
Owner

Alertmanager-style background pruner for expired maintenance windows.

  • Background goroutine runs every 15 minutes (fires once at startup too)
  • Hard-deletes windows where end_time < now - retention
  • Default retention: 7 days, configurable via UPTOP_MAINT_RETENTION (Go duration, e.g. 168h)
  • Ongoing windows (null end_time) are never pruned
  • Prune count logged when > 0

Also closed #73 (overlapping window detection) as by-design — every major monitoring tool allows overlaps.

Closes #72

Alertmanager-style background pruner for expired maintenance windows. - Background goroutine runs every 15 minutes (fires once at startup too) - Hard-deletes windows where `end_time < now - retention` - Default retention: 7 days, configurable via `UPTOP_MAINT_RETENTION` (Go duration, e.g. `168h`) - Ongoing windows (null end_time) are never pruned - Prune count logged when > 0 Also closed #73 (overlapping window detection) as by-design — every major monitoring tool allows overlaps. Closes #72
lerko added 1 commit 2026-06-05 22:27:56 +00:00
feat(monitor): auto-prune expired maintenance windows
CI / test (pull_request) Successful in 2m33s
CI / lint (pull_request) Successful in 56s
CI / vulncheck (pull_request) Successful in 50s
21a1563e53
Background goroutine runs every 15 minutes, deletes maintenance windows
that expired beyond the retention period (default 7 days). Configurable
via UPTOP_MAINT_RETENTION env var (Go duration format).

Closes #72
lerko merged commit 21a1563e53 into main 2026-06-05 22:48:41 +00:00
lerko deleted branch feat/maintenance-window-pruning 2026-06-05 22:48:41 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lerkolabs/uptop#96