-
Basic Mode: Wraps Argo health check functionality. Does not distinguish between
health
andstatus
,lastUpdated
andready
are not supported- health: One of
healthy
,unhealthy
,warning
,unknown
- message: A reason for the status e.g.
Back-off pulling image "nginx:invalid"
- health: One of
-
Enhanced Mode: returns the following fields:
- ready: Whether the resource is currently being reconciled / provisioned.
ready
is independent ofhealth
, e.g. A pod in a failure state can be ready if its state is terminal and will not change.- health: One of
healthy
,unhealthy
,warning
,unknown
,
health
can transition based on the age or last event time of a resource.- status: A text description of the state of of resource e.g.
Running
orImagePullBackoff
- message: A reason for the status e.g.
Back-off pulling image "nginx:invalid"
- lastUpdated: The last time the resource was updated
-
Heuristic Mode: Attempts to determine health using and fields named
state
,status
etc..
Object Type | Support Mode | |
---|---|---|
Core Kubernetes Resources | Enhanced | |
Pod | Enhanced | Ignores pod restarts for the first 15m warning if restarted in in last 24hunhealthy if restarted in last 1h |
Certificate | Enhanced | unhealthy if not issued with 1h warning if not issued with 15m warning if certificate expiry < 2d |
CronJob | Enhanced | |
Flux CRD's | Enhanced | |
Argo CRD's | Enhanced | |
Cert-Manager CRD's | Enhanced | Marks |
Kubernetes Resources using Conditions | Heuristic |
kubectl po -o json <pod-name> | is-healthy -j
Output:
{
"ready": false,
"health": "unhealthy",
"status": "ImagePullBackOff",
"message": "Back-off pulling image \"nginx:invalid\"",
"lastUpdated": "2025-03-26T10:17:18Z"
}
This project builds upon the health check implementations from: