* docs: improve notifications docs Signed-off-by: Michael Crenshaw <[email protected]> * use a version compatible with Python 3.7, which is what RTD runs Signed-off-by: Michael Crenshaw <[email protected]> * more fixes Signed-off-by: Michael Crenshaw <[email protected]> --------- Signed-off-by: Michael Crenshaw <[email protected]>
2.2 KiB
The subscription to Argo CD application events can be defined using notifications.argoproj.io/subscribe.<trigger>.<service>: <recipient> annotation.
For example, the following annotation subscribes two Slack channels to notifications about every successful synchronization of the Argo CD application:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
annotations:
notifications.argoproj.io/subscribe.on-sync-succeeded.slack: my-channel1;my-channel2
The annotation key consists of following parts:
on-sync-succeeded- trigger nameslack- notification service namemy-channel1;my-channel2- a semicolon separated list of recipients
You can create subscriptions for all applications of an Argo CD project by adding the same annotation to the AppProject resource:
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
annotations:
notifications.argoproj.io/subscribe.on-sync-succeeded.slack: my-channel1;my-channel2
Default Subscriptions
The subscriptions might be configured globally in the argocd-notifications-cm ConfigMap using the subscriptions field. The default subscriptions
are applied to all applications. The trigger and applications might be configured using the
triggers and selector fields:
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
# Contains centrally managed global application subscriptions
subscriptions: |
# subscription for on-sync-status-unknown trigger notifications
- recipients:
- slack:test2
- email:[email protected]
triggers:
- on-sync-status-unknown
# subscription restricted to applications with matching labels only
- recipients:
- slack:test3
selector: test=true
triggers:
- on-sync-status-unknown
If you want to use webhook in subscriptions, you need to store the custom webhook name in the subscription's recipients field.
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
service.webhook.<webhook-name>: |
(snip)
subscriptions: |
- recipients:
- <webhook-name>
triggers:
- on-sync-status-unknown