Argo CD Cheatsheet

Argo CD CheatsheetKapitel 06 von 12

Argo CD Health und Custom Health

Stand Argo CD 3.5 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

Health-Modell

Stati: Healthy, Progressing, Degraded, Suspended, Missing, Unknown. App-Health = schlechtester Zustand der direkten Kind-Ressourcen; Missing seit v3.4 nur, wenn alle fehlen.

Built-in-Checks u.a. für Deployment/StatefulSet/DaemonSet (Generation + Replicas), LoadBalancer-Service und Ingress (status.loadBalancer.ingress gefüllt), PVC (Bound), Job/CronJob.

Custom Health (Lua)

Für CRDs ohne mitgelieferten Check (oder um ihn zu überschreiben): Lua-Skript in argocd-cm, Key resource.customizations.health.<group>_<kind>. Die Ressource liegt als obj vor, Rückgabe hs.status + hs.message. Standard-Lua-Libs sind aus Sicherheitsgründen per Default deaktiviert.

# argocd-cm (ConfigMap, data:)
resource.customizations.health.db.example.com_Database: |
  hs = {}
  hs.status = "Progressing"
  hs.message = "Warte auf Ready"
  if obj.status ~= nil and obj.status.conditions ~= nil then
    for _, c in ipairs(obj.status.conditions) do
      if c.type == "Ready" and c.status ~= "Unknown" then
        local ok = c.status == "True"
        hs.status = ok and "Healthy" or "Degraded"
        hs.message = c.message
      end
    end
  end
  return hs