Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.curator.interworks.com/llms.txt

Use this file to discover all available pages before exploring further.

Curator exposes a /healthz endpoint that reports the status of several internal subsystems as JSON. It is designed for use by container orchestrators, load-balancer health probes, and uptime monitors that need to know whether Curator is fully operational — not just whether the web server is up.

Endpoint

GET /healthz
The endpoint is restricted to callers on the loopback interface or a private (RFC 1918) network range:
  • 127.0.0.0/8 (loopback)
  • ::1 (IPv6 loopback)
  • 10.0.0.0/8 (Class A private)
  • 172.16.0.0/12 (Class B private)
  • 192.168.0.0/16 (Class C private)
Requests originating from any other address receive HTTP 403 Forbidden with the body {"error":"Forbidden"}. This restriction is intended to keep the detailed system information /healthz exposes from being publicly accessible.

Response

A successful health check returns HTTP 200 and a JSON body containing the result of each check:
{
    "database": "success",
    "filesystem_driver": "local",
    "filesystem": "success",
    "extensions": "success",
    "cron": "success"
}
If any check fails, the endpoint returns HTTP 503 Service Unavailable with the same JSON shape. The failing check’s value is replaced with a string beginning with error (for example, "error: missing gd, fileinfo").

Checks Performed

KeyDescription
databaseVerifies database connectivity by opening a PDO connection.
filesystem_driverInformational. Reports the configured Storage driver (local, s3, etc.).
filesystemWrites, reads, and deletes a temporary file via the configured Storage driver.
extensionsConfirms the required PHP extensions are loaded: gd, fileinfo, zlib, curl, openssl.
cronConfirms Curator’s cron has run within the last 24 hours.
The cron check looks at the cron_last_run system parameter, which is updated each time the Curator scheduler runs. If this check is failing, see Linux Cron Troubleshooting or Windows Cron Troubleshooting.

Behavior When the Database Is Unreachable

/healthz is designed to return a JSON response even when the database is unreachable, so an orchestrator can distinguish “database down” from “web server down”. When the database connection fails, the database check reports error and the endpoint returns HTTP 503 rather than the framework’s standard error page.

Example Usage

From a server on the same private network as Curator:
curl -i http://curator.internal/healthz