This repository was archived by the owner on Oct 1, 2026. It is now read-only.
Repository navigation
Feature: notifications - #186
Draft
bakhterets wants to merge 7 commits into
Draft
bakhterets wants to merge 7 commits into
bakhterets wants to merge 7 commits into
Conversation
…l outbox Enqueue notification rows in the same transaction as the maintenance change and deliver them from a background worker with leases, retries and backoff. - outbox table (migration 000008) with dedup, dispatch and retention indexes - SMTP sender, renderer and recipient resolver per the review/lifecycle rules - API and checker triggers publishing inside the business transaction - admin ops endpoints (stats, failed, redrive) and Prometheus /metrics - config validation for SMTP transport and review audience addresses
…ry improvements - Updated notification documentation to reflect changes in configuration and delivery throughput. - Removed the implementation plan for maintenance email notifications as it is no longer needed. - Introduced a metrics server to monitor notification delivery performance, including queue depth and error rates. - Added configuration options for metrics port and ensured validation to prevent conflicts with the main API port. - Implemented a new failure handling mechanism for permanent delivery failures, allowing immediate marking of notifications without retries. - Enhanced the worker to handle delivery failures more efficiently, including jitter in backoff strategy to spread retries. - Added tests to verify the behavior of the worker under permanent failure conditions and ensure metrics are collected correctly.
…idation - Introduced `SD_NOTIFICATIONS_ALLOWED_DOMAINS` to restrict accepted domains for `contact_email`, with exact matching and error reporting for invalid domains. - Added `SD_NOTIFICATIONS_EXCLUDED_EMAILS` to prevent specific addresses from receiving notifications, applied to all recipients. - Updated the handling of `contact_email` to be optional, defaulting to the creator's email from the token if omitted. - Improved error handling with `NewErrMaintenanceContactEmailDomain` for clearer feedback on domain restrictions. - Enhanced validation logic to ensure all configured emails and domains are valid at startup. - Updated notification rendering to reflect the new state and headline logic based on the incident status. - Added tests for domain allowance and exclusion logic in the notification publisher. - Documented configuration changes and deployment instructions for the `stackmon-config` repository.
…ing and validation
…teway and enhance authentication handling
…gration for email notifications
…and rollout process
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.