Skip to content

feat: addon notifications, data-retention controls, SnapRAID agent li…#34

Merged
pineappledr merged 1 commit into
mainfrom
feat/notifications-and-housekeeping
May 12, 2026
Merged

feat: addon notifications, data-retention controls, SnapRAID agent li…#34
pineappledr merged 1 commit into
mainfrom
feat/notifications-and-housekeeping

Conversation

@pineappledr
Copy link
Copy Markdown
Owner

…veness

Notifications

  • New "ZFS Manager" category with the addon's typed events (snapshot/scrub/ resilver/replication/expansion/retention-cleanup/drive-replacement); shows alongside SnapRAID and Add-on/Job in the Notifications settings page.
  • New SnapRAID events: "SnapRAID Agent Offline" / "SnapRAID Agent Online" (the hub now reports agent liveness upstream — Vigil core can't see agents behind a hub).
  • notify.SyncEventRules auto-seeds default rules for the new event types; the UI category order arrays in notification-settings.js include "ZFS Manager".

Data retention (Settings → Data Retention)

  • 30/60/90/Forever dropdowns for: notification history, SMART & temperature history, agent report history, activity/audit log, and add-on data (auto-removes add-ons offline that long + their notification history).
  • 0 == "keep forever" — all cleanup functions no-op on <= 0 (previously a 0 could have nuked everything).
  • runRetentionSweep() in cmd/server/main.go runs on startup + hourly; new pruners: audit.PurgeOld, handlers.CleanupOldReportsByAge (keeps newest per host), addons.PurgeStale.

…veness

Notifications
- New "ZFS Manager" category with the addon's typed events (snapshot/scrub/
  resilver/replication/expansion/retention-cleanup/drive-replacement); shows
  alongside SnapRAID and Add-on/Job in the Notifications settings page.
- New SnapRAID events: "SnapRAID Agent Offline" / "SnapRAID Agent Online"
  (the hub now reports agent liveness upstream — Vigil core can't see agents
  behind a hub).
- notify.SyncEventRules auto-seeds default rules for the new event types; the
  UI category order arrays in notification-settings.js include "ZFS Manager".

Data retention (Settings → Data Retention)
- 30/60/90/Forever dropdowns for: notification history, SMART & temperature
  history, agent report history, activity/audit log, and add-on data
  (auto-removes add-ons offline that long + their notification history).
- 0 == "keep forever" — all cleanup functions no-op on <= 0 (previously a 0
  could have nuked everything).
- runRetentionSweep() in cmd/server/main.go runs on startup + hourly; new
  pruners: audit.PurgeOld, handlers.CleanupOldReportsByAge (keeps newest per
  host), addons.PurgeStale.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

🐳 Preview Images Built!

Image Pull Command
Server docker pull ghcr.io/pineappledr/vigil:pr-34
Agent (Alpine) docker pull ghcr.io/pineappledr/vigil-agent:pr-34
Agent (Debian) docker pull ghcr.io/pineappledr/vigil-agent:pr-34-debian

These preview images can be used for testing before merging.

@pineappledr pineappledr merged commit 05c3a17 into main May 12, 2026
16 checks passed
@pineappledr pineappledr deleted the feat/notifications-and-housekeeping branch May 12, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant