argoproj / argo-cd

Declarative Continuous Deployment for Kubernetes
https://argo-cd.readthedocs.io
Apache License 2.0
17.58k stars 5.35k forks source link

Adding a Health Check Endpoint to ArgoCD Notification #20048

Open nueavv opened 1 week ago

nueavv commented 1 week ago

Summary

Adding a health check endpoint to the ArgoCD Notification component.

Motivation

In ArgoCD, both the argocd-server and argocd-application-controller have health check endpoints. However, the ArgoCD Notification component currently lacks this functionality. Having a health check endpoint for the notification component would be beneficial for monitoring and ensuring that the notification service is functioning correctly, especially in production environments where reliability is crucial.

Proposal

A health check endpoint should be implemented in the ArgoCD Notification component. This endpoint can return the status of the service, allowing administrators to monitor its health and integrate it with Kubernetes readiness and liveness probes. This ensures that the notification component remains operational and can be restarted or debugged if it encounters any issues.

agaudreault commented 1 week ago

What is the current need for this health check? If the repo-server is unavailable, the notification controller is still behaving as expected, but the notification fails to be sent. Perhaps the feature that is missing here to help monitor the notification controller would be to add a metric on the number of failed/succeeded notifications processed.

nueavv commented 1 week ago

@agaudreault I'll look into the metrics aspect first. Thank you for your feedback.