openclaw
Recipe card from the charly-check plugin (Commands — runtime CLI verbs).
openclaw — gateway check verb
Section titled “openclaw — gateway check verb”Overview
Section titled “Overview”openclaw: probes a running OpenClaw 2.0 gateway,
served out-of-process over go-plugin gRPC by opencharly/plugin-openclaw.
Install the gateway itself with /charly-openclaw:openclaw
(opencharly/pod-openclaw).
Why it is not the http: verb
Section titled “Why it is not the http: verb”http: already does URL + status + body/header matchers. This verb exists
for what http: structurally cannot do:
- Endpoint resolution.
cc.ResolveEndpointturns the in-venue gateway port into a host-reachable address, so one authored step works unchanged against a pod’s published port and a VM’s forwarded one. - Domain semantics. Methods map to the gateway’s real probe surface and
return real verdicts, with
json_path:to assert one field instead of pattern-matching a JSON blob. - In-venue CLI. The status/models/channels methods run the
openclawbinary inside the venue over the reverse channel —http:cannot reach the gateway CLI at all.
Methods
Section titled “Methods”| Group | Methods |
|---|---|
| HTTP probes (host-side) | health (/healthz liveness) ready (/readyz readiness) startup (/startupz startup) |
| In-venue CLI | status (openclaw status --all) models (openclaw models status) channels (openclaw channels status) version (openclaw --version) |
All methods are read-only — there are no mutating methods in this first cut.
Input fields
Section titled “Input fields”| Field | Meaning |
|---|---|
method |
the operation (also the scalar-sugar primary: openclaw: health) |
port |
gateway port (default 18789) |
timeout |
HTTP probe timeout (default 10s) |
json_path |
dotted path into the response; stdout becomes that value |
Scalar shorthand
Section titled “Scalar shorthand”openclaw: health # scalar sugaropenclaw: # map form — identical meaning method: healthBoth parse. The sugar is enabled by this candy’s plugin.primary: {openclaw: method}, which charly reads in a PRE-CONNECT prescan — so the plugin candy
must be composed into the box that authors the step.
Examples
Section titled “Examples”# Liveness — the 2.0 container probe.- check: the gateway's /healthz liveness endpoint reports ok openclaw: health stdout: [{contains: ok}] eventually: 60s retry_interval: 5s context: [runtime]
# Readiness — configured channels healthy.- check: the gateway is ready openclaw: ready context: [runtime]
# Assert ONE field instead of matching a blob.- check: the gateway reports ok openclaw: method: health json_path: status stdout: [{equals: ok}] context: [runtime]
# Gateway state via the in-venue CLI.- check: the gateway CLI reports its model status openclaw: models context: [runtime]Cross-References
Section titled “Cross-References”/charly-openclaw:openclaw— the candy that installs the gateway/charly-check:check— the check orchestrator, beds and the R10 sequence/charly-internals:plugin— the out-of-process plugin model this verb follows