Skip to content
English
  • There are no suggestions because the search field is empty.

Application Health Status in Argo CD and Resource-Level Messages

Why Application Health Messages Do Not Show Resource-Level Messages

Argo CD determines the overall health of an application (e.g., Healthy, Degraded) by evaluating the health of its resources. However, it does not aggregate individual resource health messages into the top-level app.status.health.message.

This behavior is intentional to reduce noise in large applications. For example, in a Crossplane-managed app, if one resource fails, that resource’s message is not bubbled up into the app’s top-level health message.

Starting with Argo CD v3.0, resource-level health information is no longer stored in the Application CR. Instead, it is held in memory via Redis, meaning you need to use APIs or the UI to access it.

How to Retrieve Resource-Level Health Messages

1. Using the Argo CD API

You can query the API to retrieve detailed health data for each resource:

curl -k -H "Authorization: Bearer <ARGOCD_AUTH_TOKEN>" \
https://<ARGOCD_SERVER>/api/v1/applications/<APP_NAME>

The response will include health messages for each resource.

2. Using the Argo CD CLI

Run the following command (replace myapp-deployment with your app name):

argocd app get myapp-deployment --output json | jq '.status.resources[] | {kind, name, health}'

Example output:

{
  "kind": "Deployment",
  "name": "nginx-failing",
  "health": {
    "status": "Degraded",
    "message": "Deployment \"nginx-failing\" exceeded its progress deadline"
  }
}

3. Using the Argo CD UI

  • Open your application in the Argo CD dashboard

  • Expand the Resource Tree

  • Hover over or click a resource to see its health status and message

This provides a developer-friendly way to inspect resource health without requiring CLI/API access.

References