Skip to content

Modernize Notification System and Modularize Architecture#1

Merged
mosishon merged 1 commit into
mainfrom
refactor-notification-and-architecture-8713588421718732842
Feb 3, 2026
Merged

Modernize Notification System and Modularize Architecture#1
mosishon merged 1 commit into
mainfrom
refactor-notification-and-architecture-8713588421718732842

Conversation

@mosishon
Copy link
Copy Markdown
Owner

@mosishon mosishon commented Feb 3, 2026

Implemented NotificationMetadata, updated all notifiers and their templates, modularized main.go, and added graceful shutdown support.

This commit implements a comprehensive refactoring of the Healthy API
to improve its structural integrity and maintainability as requested.

Key changes:
- Introduced `NotificationMetadata` struct in the `model` package to
  centralize alert context (ServiceName, URL, Reason, Status, etc.).
- Updated all notifiers (Mail, SMS, Payamak, Webhook) to use the new
  metadata structure.
- Refactored the templating engine to support nested access to
  metadata (e.g., `{{.Metadata.ServiceName}}`).
- Modularized `main.go` by moving notifier and condition loading
  logic into a new `loader` package.
- Refactored `healthcheck` package to support graceful shutdown
  via `context.Context` and improved logic separation.
- Cleaned up dead code and improved logging consistency using `slog`.
- Updated tests to reflect the new structure and verified nested
  template access.

Co-authored-by: mosishon <61285975+mosishon@users.noreply.github.com>
@mosishon mosishon merged commit 0f03e6f into main Feb 3, 2026
2 checks passed
Repository owner deleted a comment from google-labs-jules Bot Feb 3, 2026
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