Operator
Notifications
Slack notifications for sync events — other channels planned
Notifications
The operator's notify.Dispatcher posts to Slack when a sync succeeds or fails — that's the whole surface today.
Supported Channels
| Channel | Status |
|---|---|
| Slack | ✅ Implemented — one HTTP POST per event |
onHealthDegraded flag | 📋 Declared in the CRD; the dispatcher never reads it |
| Teams / Email / Discord / generic webhook | 📋 Planned — no channel plumbing exists |
| Message templates | 📋 Planned |
Configuration
spec:
notifications:
slack:
webhookURL: https://hooks.slack.com/services/T000/B000/XXX
onSyncSuccess: true
onSyncFailure: true| Field | Behavior |
|---|---|
slack.webhookURL | Slack incoming-webhook URL — required for any notification |
onSyncSuccess | ✅ Sync succeeded for <app> (revision: <sha>) |
onSyncFailure | ❌ Sync failed for <app>: <err> |
onHealthDegraded | 📋 declared, unwired |
Creating a Slack Webhook
- api.slack.com/apps → Create New App → From scratch
- Enable Incoming Webhooks → Add New Webhook to Workspace
- Pick the channel (e.g.
#deployments), copy the URL into theAppspec
Actual message payloads
The dispatcher sends a simple {"text": "…"} body:
{"text": "✅ Sync succeeded for my-app (revision: a1b2c3d4e5f6)"}{"text": "❌ Sync failed for my-app: apply failed: …"}No retries, no dedup, no timeout tuning. Dispatch fires one POST per sync event inline in the reconcile — a Slack outage loses the notification (the failure is only logged). A slow Slack endpoint adds latency to that reconcile.
When notifications fire
Reconcile → apply succeeded? ──┬─ yes + onSyncSuccess → POST
└─ no + onSyncFailure → POSTHealth transitions and Held/Skipped operation phases send nothing.
Security
- Webhook URL lives in the CR spec — anyone with
deployment:readon the org's management namespace can see it.secretRef-based storage is a planned enhancement - No sensitive data — messages carry the app name, revision, and error text only
Planned
- Additional channels (Teams, Email, Discord, generic webhook)
onHealthDegradednotifications- Message templates per channel
- Retry/dedup/timeout controls
Related
- Configuration —
notificationsspec fields - Reconciliation Loop — where
Dispatchis called - Roadmap — upcoming channels