GET /registry/healthReports this node only, not the fleet; behind a load balancer each call may hit a different node. Answers while the node is booting, draining or not serving, so it can explain a failing readiness probe.
Authentication
pinboard:operator scope. The response is not filtered by the claim.
Example
curl https://pinboard.example.com/registry/health \
-H "Authorization: Bearer $PINBOARD_OPERATOR_TOKEN"Response
200
| Field | Type | Description |
|---|---|---|
resolutions | object | Count per resolution outcome since this node started. Keys below. |
connections | integer | Forwards and WebSocket tunnels open on this node now. |
quarantineMs | integer | Longest remaining cold-start window across buckets; 0 when none. |
uptimeMs | integer | Since this node's Pinboard instance was created. |
rssBytes | integer | Process resident memory. Absent on runtimes without process.memoryUsage (workerd). |
resolutions keys:
| Key | Counted when |
|---|---|
forward | A request resolved to a worker |
unknown-ns | 404 unknown namespace |
no-backends | 503 no live backends for namespace |
quarantine | 503 registry cold start, retry |
not-serving | 503 not the serving fleet |
no-hostname-workers | 503 no live workers for hostname |
binding-quarantine | 503 hostname binding displaced, retry |
takeover-pending | 503 takeover in progress, retry or placement held by another hostname |
env-conflict | 503 hostname bindings inconsistent, retry |
nack | A worker refused an activation (Pinned-Refusal) |
Re-resolves count again, so one request can add more than one.
{
"resolutions": {
"forward": 18234,
"unknown-ns": 3,
"no-backends": 0,
"quarantine": 12,
"not-serving": 0,
"no-hostname-workers": 0,
"binding-quarantine": 0,
"takeover-pending": 0,
"env-conflict": 0,
"nack": 1
},
"connections": 41,
"quarantineMs": 0,
"uptimeMs": 7261034,
"rssBytes": 98304000
}Errors
| Status | Body | When |
|---|---|---|
401 | {"error":"unauthorized"} | No accepted credential |
403 | {"error":"forbidden"} | No pinboard:operator scope, or malformed pinboard claim |
404 | {"error":"not found"} | Method other than GET (after the serving check, so a non-serving node answers 503) |