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