chrisguidry/healthchecks
Install healthchecks-operator, connect a Healthchecks project, declare checks, adopt existing checks, hold checks during a disruption, and troubleshoot.
Take over a check that already exists in Healthchecks, made by hand or by Terraform, so it keeps its ping URL and its history: set spec.slug and spec.displayName on a Check, tell Terraform to forget the check without deleting it, and confirm the takeover. Use when moving checks from Terraform's healthchecksio provider or from the web UI onto the operator, or when a workload already pings a URL that must not change.
Connect healthchecks-operator to one Healthchecks project with a ClusterProject: make a read-write API key, store it in a Secret, name the project's integrations, and read the Ready condition. Use when a cluster needs its first ClusterProject, when adding another Healthchecks project or instance, when rotating an API key, or when a ClusterProject is not Ready.
Declare a Check that makes one check in Healthchecks and feeds it: an http, tls, tcp, or dns probe on a timer, the runs of a CronJob, or a ping URL written into a ConfigMap for a workload that pings itself. Use when something in the cluster or on the network should alert when it stops working, when choosing which probe fits, or when setting grace, tags, channels, slug, or display name.
Pause every check in a ClusterProject while a condition on another Kubernetes object matches, such as a rollout that reboots each node, and resume them when it stops: write spec.hold, grant the operator read access to the object, and read the Holding condition. Use when planned work fails checks on purpose and should not notify, or when checks stay paused or resume as down after a hold.
Install healthchecks-operator from its kustomize base, pin it to a release, give it a heartbeat check, and watch a leader take the Lease. Use when a cluster has no ClusterProject or Check resources yet, when upgrading the operator or running a development build, or when removing it.
Diagnose healthchecks-operator from the Ready, Passing, and Holding conditions, the operator's log, and its metrics: a ClusterProject or Check that is not Ready, a check that went down or never appeared in Healthchecks, a Check that will not delete, a ping ConfigMap that is not written, and an operator with no leader. Use when a Check or ClusterProject reports a reason other than Connected or Synced, or when Healthchecks and the cluster disagree.