Helm Releases MonitoringΒΆ

Robusta can monitor your Helm releases and notify you about updates or problems. For example:

  • Get notified in Slack when a Helm release fails

  • Get notified in MSTeams if a Helm release is pending for more than X seconds

  • Send details on your Helm history to external tools

…and more

PrerequisitesΒΆ

There are two prerequisites for using Helm triggers:

  • The Robusta UI sink must be enabled

  • monitorHelmReleases: true must be set in Robusta's Helm values

TriggersΒΆ

The following triggers are available:

on_helm_release_unhealthy

on_helm_release_unhealthy triggers when a Helm release remains unhealthy for over duration seconds. Unhealthy states are: uninstalling, pending-install, pending-upgrade, and pending-rollback.

Available options:

  • rate_limit: Limit firing to once every rate_limit seconds.

  • names: List of Helm releases for this trigger to monitor. Leaving this field empty monitors all releases in the namespace. Optional.

  • namespace: The Kubernetes namespace for this trigger to monitor. Leaving this field empty monitors all namespaces in the cluster. Optional.

  • duration: Minimum time, in seconds, that a release must remain unhealthy before the trigger fires. If the unhealthy state lasts less than this duration, the trigger won't fire. Default value is 900 seconds (15 minutes). Optional.

Example

Monitor the demo-app Helm release in the default namespace. Send notifications when it is unhealthy for more than 15 minutes (900 seconds). Do not send further notifications for at least 4 hours (14400 seconds).

customPlaybooks:
  - triggers:
    - on_helm_release_unhealthy:
        names: ["demo-app"] # optional
        namespace: "default" # optional
        duration: 900 # optional
        rate_limit: 14400
    actions:
      - helm_status_enricher: {}
on_helm_release_fail

on_helm_release_fail is triggered when a Helm release enters a failed state. This is a one-time trigger, meaning that it only fires once when the release fails.

Available options:

  • names: List of Helm releases for this trigger to monitor. Leaving this field empty monitors all releases in the namespace. Optional.

  • namespace: The Kubernetes namespace for this trigger to monitor. Leaving this field empty monitors all namespaces in the cluster. Optional.

Example

Monitor the demo-app Helm release in the default namespace and send notifications when it is failing.

customPlaybooks:
  - triggers:
    - on_helm_release_fail:
        names: ["demo-app"] # optional
        namespace: "default" # optional
    actions:
      - helm_status_enricher: {}
on_helm_release_deploy

The on_helm_release_deploy is triggered when a Helm release enters a deployed state. This is a one-time trigger, meaning that it only fires once when the release is successfully deployed.

Available options:

  • names: List of Helm releases for this trigger to monitor. Leaving this field empty monitors all releases in the namespace. Optional.

  • namespace: The Kubernetes namespace for this trigger to monitor. Leaving this field empty monitors all namespaces in the cluster. Optional.

Example

Monitor the demo-app Helm release in the default namespace and send notifications when it is deployed.

customPlaybooks:
  - triggers:
    - on_helm_release_deploy:
        names: ["demo-app"] # optional
        namespace: "default" # optional
    actions:
      - helm_status_enricher: {}