-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Description
Summary
Argo CD is incorrectly reporting the health status of 3scale applications. While the sync process completes successfully, the application components are not healthy due to a dependency issue with the 3scale operator.
Motivation
The 3scale operator requires its Kubernetes objects to be created and reconciled in a specific order to function correctly. Currently, when syncing 3scale applications with Argo CD, the sync operation reports a successful status even when the underlying operator-managed resources are still unhealthy. This can lead to a misleading "Healthy" status in Argo CD, while the application itself is not fully functional.
This behavior prevents a true GitOps-style, declarative management of 3scale applications, as operators must manually verify and correct the application state.
Proposal
To accurately reflect the operational status of 3scale applications, we propose implementing custom health checks. These checks would specifically monitor the health and readiness of the objects managed by the 3scale operator, ensuring that the Argo CD UI provides an accurate representation of the application's state.
This can be achieved by following the established health check documentation for the Argo CD operator manual.
Steps to Reproduce
- Deploy a 3scale application via Argo CD.
- Observe the application status.
- Note that Argo CD reports the application as
SyncedandHealthy, while the 3scale components are not fully ready.)