ROOSTby Axowl

Docs

Diagnostics: roost check

One command walks the connection from the network up to the appliance and stops at the first thing that is wrong, with what to fix.

$ roost check

1 network      roost-a.example:443 reachable                  ok
2 trust        box identity ROOST-26-0001 verified            ok
3 partition    prod visible to this client                    ok
4 login        client identity acme/orders-api accepted       ok
5 box          3/3 voters · tamper armed · time NTS 8 ms      ok
6 sign         test seal on partition prod                    ok

All checks passed.

What each step checks

StepSymptom when it failsLikely causeWhat roost check tells you
1 networkServer unreachableFirewall, DNS, proxyThe address, the port (always 443) and the hop that dropped
2 trustIdentity mismatchWrong box, replaced box, man in the middleThe identity the box presented and the one you pinned
3 partitionNo keys listedClient not assigned to the partitionWhich partitions this client may see
4 loginLogin failedExpired or wrong client identityWhen the credential expires and how to renew it
5 boxSigning refused for every keyDegraded quorum, tamper, time driftThe box status report in one line
6 signOne key refusesPolicy: approval, limit, purposeThe rule that refused and what would allow it
axowl.com/dashboard/acme/roost/diagnostics
AxowlacmeRoostM

Diagnostics · roost check from orders-api host

#StepResult
1Networkroost-a.example:443 reachableok
2Trustbox identity ROOST-26-0001 verified · attestation matchok
3Partitionprod visibleok
4Loginacme/orders-api · credential renews in 12 minok
5Box3/3 voters · armed · NTS 8 msok
6Signtest seal on prodok
Evidence bundle   Measure (bench)
Diagnostics: one command walks from the network to the box and stops at the first problem.

Evidence bundle

roost check --bundle support-2026-11-02.zip
# one file: correlation ids, error codes, module version, box status, the last 50 refusals with reasons. Never a secret.

Measure

roost check --bench
# sign / wrap / unwrap per second and p99 latency against this box, with the quorum on

Refusals carry a reason

InterfaceCodeReason example
PKCS#11CKR_FUNCTION_REJECTEDapproval required: 1 of 2 seals present
PKCS#11CKR_KEY_FUNCTION_NOT_PERMITTEDpurpose code-signing cannot decrypt
Gateway403 POLICY_REFUSEDrule 3: limit 200/h reached for agent ledger-bot
Gateway503 QUORUM_NOT_MET1 of 3 voters answered; box ROOST-26-0001 degraded