Signing backend health and telemetry
const url = 'https://localhost:8080/health/signing';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://localhost:8080/health/signingChecks OpenBao seal state, self capabilities, platform metadata and its committed association without signing. Independent of liveness and database readiness. Other providers report not_supported. Telemetry covers process-lifetime Transit sign attempts, excluding metadata resolution; latency_buckets are cumulative upper bounds.
Responses
Section titled “ Responses ”OK
Signing backend state (ready, not_supported, uninitialized, sealed, denied, unreachable, timeout, canceled, association_mismatch, unavailable) with process-lifetime Transit signing telemetry. Only ready and not_supported return HTTP 200.
object
object
DurationSeconds is the total time spent in signing attempts.
Failures counts every attempt whose outcome is not success.
LatencyBuckets are cumulative: each entry counts attempts that completed within upper_seconds, so counts never decrease along the list and there is no +Inf entry (use requests for the total).
object
Count is the number of attempts that completed within UpperSeconds.
UpperSeconds is the inclusive upper bound of this bucket.
Outcomes counts attempts by outcome; the key set is fixed and always complete.
object
Requests counts every signing attempt, including those slower than the largest latency bucket.
Example
{ "status": "ready"}Unauthorized
Error body returned across the auth endpoints; the message is human-readable and not a stable identifier
object
Example
{ "error": "Unauthorized", "error_description": "Invalid token"}Service Unavailable
Signing backend state (ready, not_supported, uninitialized, sealed, denied, unreachable, timeout, canceled, association_mismatch, unavailable) with process-lifetime Transit signing telemetry. Only ready and not_supported return HTTP 200.
object
object
DurationSeconds is the total time spent in signing attempts.
Failures counts every attempt whose outcome is not success.
LatencyBuckets are cumulative: each entry counts attempts that completed within upper_seconds, so counts never decrease along the list and there is no +Inf entry (use requests for the total).
object
Count is the number of attempts that completed within UpperSeconds.
UpperSeconds is the inclusive upper bound of this bucket.
Outcomes counts attempts by outcome; the key set is fixed and always complete.
object
Requests counts every signing attempt, including those slower than the largest latency bucket.
Example
{ "status": "ready"}