argo-cd/resource_customizations/capabilities.3scale.net/DeveloperUser/health.lua
Adriano Machado d954789d47
feat(server): 3scale health checks (#24327) (#24326)
Signed-off-by: Adriano Machado <60320+ammachado@users.noreply.github.com>
2025-09-06 14:24:18 -04:00

39 lines
1.2 KiB
Lua

local hs = {}
if obj.status ~= nil then
if obj.status.developerUserState ~= nil and obj.status.developerUserState == "suspended" then
hs.status = "Suspended"
hs.message = "3scale Developer user is waiting for admin approval"
return hs
end
if obj.status.conditions ~= nil then
for _, condition in ipairs(obj.status.conditions) do
if condition.status ~= "True" then goto continue end
if condition.type == "Ready" then
hs.status = "Healthy"
hs.message = "3scale DeveloperUser is ready"
return hs
elseif condition.type == "Invalid" then
hs.status = "Degraded"
hs.message = condition.message or "3scale DeveloperUser configuration is invalid"
return hs
elseif condition.type == "Orphan" then
hs.status = "Degraded"
hs.message = condition.message or "3scale DeveloperUser references non-existing resources"
return hs
elseif condition.type == "Failed" then
hs.status = "Degraded"
hs.message = condition.message or "3scale DeveloperUser synchronization failed"
return hs
end
::continue::
end
end
end
hs.status = "Progressing"
hs.message = "Waiting for 3scale DeveloperUser status..."
return hs