Notifications
Alert delivery to Slack, Discord and email when insights fire. Optional — disabled when no channel is configured.
Channels
Each channel activates when its connection details are set. You can enable one, two or all three at once.
- Slack — Block Kit messages with severity colour bar and a button that deep-links back to the resource in KubeBolt.
- Discord — Embed messages with equivalent formatting.
- Email (SMTP) — Plain/HTML email with three delivery modes:
instant,hourlydigest, ordailydigest. Supports multiple recipients.
Global settings
Cross-channel knobs that apply to every notifier:
| Env var | Default | Purpose |
|---|---|---|
KUBEBOLT_NOTIFICATIONS_ENABLED | true | Master kill switch — set false for maintenance windows. |
KUBEBOLT_NOTIFICATIONS_MIN_SEVERITY | warning | Insights below this threshold don’t notify. Values: critical, warning, info. |
KUBEBOLT_NOTIFICATIONS_COOLDOWN | 1h | Dedup window — the same insight fires at most once per cooldown. |
KUBEBOLT_NOTIFICATIONS_BASE_URL | — | Public URL of your KubeBolt — embedded as a deep link in messages. |
KUBEBOLT_NOTIFICATIONS_INCLUDE_RESOLVED | false | Also notify when an insight transitions to resolved. |
Slack
# Create an Incoming Webhook in Slack, then:
KUBEBOLT_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T.../B.../...
Discord
# Server Settings → Integrations → Webhooks → New Webhook, then:
KUBEBOLT_DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
KUBEBOLT_SMTP_HOST=smtp.example.com
KUBEBOLT_SMTP_PORT=587
KUBEBOLT_SMTP_USERNAME=alerts@example.com
KUBEBOLT_SMTP_PASSWORD=...
KUBEBOLT_SMTP_FROM=KubeBolt <alerts@example.com>
KUBEBOLT_SMTP_TO=sre@example.com,oncall@example.com
KUBEBOLT_SMTP_DIGEST_MODE=hourly # instant | hourly | daily
Admin UI: The /admin/notifications page shows which channels are configured, surfaces the current global settings, and lets you send a test notification to each channel without restarting. Authenticated users with the Admin role only.