Notification Configuration Reference
Summary
Configuration binds from three sections plus one environment variable. This page documents option names, defaults and effects. No credential, host or connection value from any settings file is reproduced here.
Audience
DevOps engineers, engineers, support, architects and QA.
Reference Content
The verified reference material for this topic is set out in the sections below.
Notification section — topology
| Option | Default | Effect |
|---|---|---|
| Queue name | Service-specific queue name | The durable queue the consumer declares and binds |
| Dead-letter exchange | Platform dead-letter name | Unreferenced — see dead-letter processing |
| Dead-letter queue | Service-specific name | Unreferenced |
| Prefetch count | 5 | Deliveries outstanding at once; drives concurrency |
Notification section — reliability
| Option | Default | Effect |
|---|---|---|
| Retry maximum attempts | 3 | Bounded delivery attempts per message; floored at 1 |
| Retry base delay | 200 ms | Delay before attempt two |
| Retry backoff factor | 2.0 | Multiplier applied per subsequent attempt |
| Stale-after hours | 168 | Events older than this are ignored; 0 disables the check |
| Seed default templates | true | Seeds built-in global templates at startup when missing |
Notification section — channels
| Option | Default | Effect |
|---|---|---|
| Event channels map | Empty | Per-event-type channel override; a non-empty array replaces the resolver default. Lookup is case-insensitive and values are normalised |
| Email provider | console | Selects the email sender: smtp, noop, or console for any other value |
| Email from address and from name | Placeholder values | Sender identity used by the email sender |
| SMTP host, port, username, password, SSL flag, timeout | Port 587, SSL on, 10-second timeout | Used only when the SMTP provider is selected |
| SMS provider | noop | Placeholder only — no real provider integration |
| WhatsApp provider | noop | Placeholder only — no real provider integration |
The provider selection is evaluated once at startup and registers a single sender. Changing it requires a restart.
RabbitMq section
Host, port, username, password, virtual host and exchange name. The exchange name is the shared platform integration-events exchange.
Observability section
| Option | Effect |
|---|---|
| OTLP endpoint | When set to a valid absolute URI, adds an OTLP trace exporter |
| Enable console exporter | When true, adds a console trace exporter |
| Seq URL | Read by nothing — present in settings, referenced nowhere in the reviewed source |
Connection string
One named connection string identifies the notification database. Its value is not reproduced here.
Environment variable
| Variable | Effect |
|---|---|
| Migration skip flag | When set to the string true, skips both migration and seeding at startup |
This is the only environment variable that alters service behavior in the reviewed source. Note that it couples two unrelated concerns.
Public-safety note
The committed development settings file contains local placeholder credentials for the database and the broker, and empty SMTP credentials. Those values are development defaults and are deliberately not reproduced in this documentation. Production values are expected to be supplied by the deployment environment; how they are supplied requires confirmation.
Verified absence
There is no feature-flag system, no runtime configuration reload, no options-change listener, no per-tenant configuration and no configuration validation on startup. An invalid value — for example an unrecognised email provider — silently falls back to the default rather than failing fast.
Classification
Implemented.
Requires confirmation
Production secret management, and whether the unread Seq setting should be wired or removed, require confirmation.
Related Articles
See Also
Keywords
- Notification database
- Configuration
- Draft database documentation
Source References
microservices/src/notification-service/Application/NotificationOptions.csmicroservices/src/notification-service/appsettings.jsonmicroservices/src/shared-kernel/Messaging/RabbitMqOptions.csmicroservices/src/shared-kernel/Extensions/ObservabilityExtensions.csmicroservices/src/notification-service/Program.cs
Revision Information
- Status: Draft
- Last reviewed: 2026-07-21
- Review cycle: Quarterly