Troubleshooting
argocd admin notifications
is a CLI command group that helps to configure the controller
settings and troubleshoot issues. Full command details are available in the command reference.
Global flags¶
The following global flags are available for all sub-commands:
--config-map
- path to the file containingargocd-notifications-cm
ConfigMap. If not specified then the command loadsargocd-notification-cm
ConfigMap using the local Kubernetes config file.--secret
- path to the file containingargocd-notifications-secret
ConfigMap. If not specified then the command loadsargocd-notification-secret
Secret using the local Kubernetes config file. Additionally, you can specify:empty
to use empty secret with no notification service settings.
Examples:
-
Get a list of triggers configured in the local config map:
argocd admin notifications trigger get \ --config-map ./argocd admin notifications-cm.yaml --secret :empty
-
Trigger notification using in-cluster config map and secret:
argocd admin notifications template notify \ app-sync-succeeded guestbook --recipient slack:argocd admin notifications
Kustomize¶
If you are managing argocd-notifications
config using Kustomize you can pipe whole kustomize build
output
into stdin using --config-map -
flag:
kustomize build ./argocd-notifications | \
argocd-notifications \
template notify app-sync-succeeded guestbook --recipient grafana:argocd \
--config-map -
How to get it¶
On your laptop¶
You can download the argocd
CLI from the GitHub release
attachments.
The binary is available in the quay.io/argoproj/argocd
image. Use the docker run
and volume mount
to execute binary on any platform.
Example:
docker run --rm -it -w /src -v $(pwd):/src \
quay.io/argoproj/argocd:<version> \
/app/argocd admin notifications trigger get \
--config-map ./argocd-notifications-cm.yaml --secret :empty
In your cluster¶
SSH into the running argocd-notifications-controller
pod and use kubectl exec
command to validate in-cluster
configuration.
Example
kubectl exec -it argocd-notifications-controller-<pod-hash> \
/app/argocd admin notifications trigger get
Commands¶
The following commands may help debug issues with notifications:
argocd admin notifications template get
argocd admin notifications template notify
argocd admin notifications trigger get
argocd admin notifications trigger run
Errors¶
Failed to parse new settings¶
error converting YAML to JSON¶
YAML syntax is incorrect.
incorrect:
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
service.slack: |
token: $slack-token
icon: :rocket:
correct:
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
service.slack: |
token: $slack-token
icon: ":rocket:"
service type 'xxxx' is not supported¶
You need to check your argocd-notifications controller version. For instance, the teams integration is to support v1.1.0
and more.
Failed to notify recipient¶
notification service 'xxxx' is not supported¶
You have not defined xxxx
in argocd-notifications-cm
or to fail to parse settings.