Files
argo-cd/resource_customizations/_.cnrm.cloud.google.com/_/health.lua
Niclas Mietz a22f33dbe2 fix(health): configconnectorcontext and configconnector (#26308) (#26309)
Signed-off-by: solidnerd <github@mietz.io>
Signed-off-by: solidnerd <niclas@mietz.io>
2026-02-11 21:04:13 +00:00

59 lines
1.8 KiB
Lua

local hs = {
status = "Progressing",
message = "Update in progress"
}
if obj.status ~= nil then
-- ConfigConnector and ConfigConnectorContext use status.healthy instead of conditions
if (obj.kind == "ConfigConnector" or obj.kind == "ConfigConnectorContext") and obj.status.healthy ~= nil then
-- Check if status is stale
if obj.status.observedGeneration == nil or obj.status.observedGeneration == obj.metadata.generation then
if obj.status.healthy == true then
hs.status = "Healthy"
hs.message = obj.kind .. " is healthy"
return hs
else
hs.status = "Degraded"
hs.message = obj.kind .. " is not healthy"
return hs
end
end
end
if obj.status.conditions ~= nil then
-- Progressing health while the resource status is stale, skip if observedGeneration is not set
if obj.status.observedGeneration == nil or obj.status.observedGeneration == obj.metadata.generation then
for i, condition in ipairs(obj.status.conditions) do
-- Up To Date
if condition.reason == "UpToDate" and condition.status == "True" then
hs.status = "Healthy"
hs.message = condition.message
return hs
end
-- Update Failed
if condition.reason == "UpdateFailed" then
hs.status = "Degraded"
hs.message = condition.message
return hs
end
-- Dependency Not Found
if condition.reason == "DependencyNotFound" then
hs.status = "Degraded"
hs.message = condition.message
return hs
end
-- Dependency Not Ready
if condition.reason == "DependencyNotReady" then
hs.status = "Suspended"
hs.message = condition.message
return hs
end
end
end
end
end
return hs