Configuring Local Notification Settings for Argo CD Agents

Configure Argo CD notifications locally on a per-cluster (Agent Host) basis or using the default global (Control Plane) configuration

Argo CD notifications can be scoped locally to a specific cluster (Agent Host) by creating a ConfigMap named argocd-notifications-cm and optional Secret  in the same namespace where the agent is deployed. This overrides the global configuration and enables cluster-specific notifications.

To enable and use local notification settings with Argo CD Agents, please ensure the following:

  1. Set the Agent Host in the target cluster’s settings via the Akuity Platform UI.

  2. Use a recent -ak version of Argo CD, specifically version 54 or higher, as this feature is only supported in recent platform releases.

Steps to Enable Local Notifications on an Agent Host

  1. Create a Local Notification ConfigMap

    Create a file named argocd-notifications-cm.yaml with the following content, and apply it to the agent’s namespace:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: argocd-notifications-cm
    data:
      service.email: |
        host: mailhostint.example.com
        port: 25
        from: akuityio@example.com
      trigger.on-sync-succeeded: |
        - when: app.status.sync.status == 'Synced'
          send: [my-custom-template]
      template.my-custom-template: |
        email:
          subject: Application has been successfully synced.
        message: |
          Application details: /applications/
    The trigger and template shown in the example configuration are purely illustrative. You can use any supported trigger and template combination as per your use case.

    This config defines:
    • Email service settings.

    • A trigger for when an application has been synced.

    • A custom email template.

  2. Apply the ConfigMap

    Deploy the file in the agent’s namespace:

    kubectl apply -f argocd-notifications-cm.yaml -n <agent-namespace>
  3. Deploy an ArgoCD Application with Notification Subscriptions
    Ensure the application includes the appropriate annotation to subscribe users to notifications:
    e.g.:
    metadata:
      annotations:
        notifications.argoproj.io/subscribe.on-sync-succeeded.email: apk1@example.com, apk2@example.com

References:

https://docs.akuity.io/argo-cd/settings/advanced/agent-default-settings/
https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/email/