Skip to content

Alert When Reloader Triggers a Restart#

Reloader can send a webhook notification whenever it triggers a rolling restart. This is useful for audit trails, operational visibility, and integrating with incident management workflows.

Alerts are sent to a configured webhook endpoint with details about what changed and which workload was restarted.


Supported sinks#

Sink Value
Raw webhook (default) webhook
Slack slack
Microsoft Teams teams
Google Chat gchat

Configuration#

Alerting is configured through environment variables on the Reloader deployment. The recommended way to set these is through the reloader.deployment.env.secret section of the Helm values, so that the webhook URL is stored as a Kubernetes Secret rather than in plain text.

reloader:
  deployment:
    env:
      secret:
        ALERT_ON_RELOAD: "true"
        ALERT_SINK: "slack"
        ALERT_WEBHOOK_URL: "https://hooks.slack.com/services/..."
        ALERT_ADDITIONAL_INFO: "Cluster: production-eu"
Variable Required Description
ALERT_ON_RELOAD Yes Set to "true" to enable alerting. Default: false
ALERT_SINK No Sink type: slack, teams, gchat, or webhook. Default: webhook
ALERT_WEBHOOK_URL Yes (when alerting enabled) The webhook URL to send notifications to
ALERT_ADDITIONAL_INFO No Free-text string appended to the alert payload. Useful for adding context such as cluster name or environment

Examples#

Slack#

Create a Slack Incoming Webhook by following the Slack documentation, then configure:

reloader:
  deployment:
    env:
      secret:
        ALERT_ON_RELOAD: "true"
        ALERT_SINK: "slack"
        ALERT_WEBHOOK_URL: "https://hooks.slack.com/services/<workspace-id>/<channel-id>/<token>"
        ALERT_ADDITIONAL_INFO: "Cluster: production"

Microsoft Teams#

reloader:
  deployment:
    env:
      secret:
        ALERT_ON_RELOAD: "true"
        ALERT_SINK: "teams"
        ALERT_WEBHOOK_URL: "https://outlook.office.com/webhook/..."

Google Chat#

reloader:
  deployment:
    env:
      secret:
        ALERT_ON_RELOAD: "true"
        ALERT_SINK: "gchat"
        ALERT_WEBHOOK_URL: "https://chat.googleapis.com/v1/spaces/..."

Raw webhook#

When ALERT_SINK is set to webhook (or left unset), Reloader sends a plain JSON POST to the URL.

reloader:
  deployment:
    env:
      secret:
        ALERT_ON_RELOAD: "true"
        ALERT_SINK: "webhook"
        ALERT_WEBHOOK_URL: "https://your-internal-service/reloader-events"
        ALERT_ADDITIONAL_INFO: "env=staging"

Using an existing Kubernetes Secret#

If you already manage secrets externally (for example via External Secrets Operator), you can reference an existing Kubernetes Secret instead:

reloader:
  deployment:
    env:
      existing:
        my-alert-secret:
          ALERT_ON_RELOAD: alert_on_reload
          ALERT_SINK: alert_sink
          ALERT_WEBHOOK_URL: alert_webhook_url
          ALERT_ADDITIONAL_INFO: alert_additional_info

This maps each environment variable to a key in the existing Secret named my-alert-secret.