qontinui-runner-client
Typed Rust HTTP client for the qontinui-runner's
/spawn-placement/{preview,temp} endpoints. Layered on
qontinui-types::wire::placement so the
wire format is single-sourced.
Used by qontinui-supervisor and any future fleet-management UI to avoid
duplicating URL building, the runner's ApiResponse<T> envelope unwrapping,
and the round-trip parsing.
Usage
use ;
use Client;
use Url;
# async
The client returns a bare
SpawnPlacementResponse
on success and a single
SpawnPlacementClientError
enum covering every failure mode (HTTP, URL parse, non-2xx status with body,
envelope-without-data, parse error). The error type is #[non_exhaustive]
so future variants are non-breaking.
Feature flags
None currently. The crate is default-features = false on reqwest with
the json and rustls features enabled — TLS is handled via rustls,
not native-tls, to match the rest of the qontinui ecosystem.
Compatibility
- MSRV: Rust 1.75 (matches the workspace's MSRV; documented but not yet
enforced via
rust-versioninCargo.toml). - Stability: pre-1.0 (
0.x). The public API is the items re-exported fromlib.rs(SpawnPlacementClient,Overflow,SpawnPlacementClientError). Breaking changes will bump the minor version per Cargo's pre-1.0 SemVer rules; the CHANGELOG calls them out explicitly. Wire-format compatibility is the responsibility ofqontinui-types. - Runner version: built against the
/spawn-placement/{preview,temp}surface the runner has stabilized as ofqontinui-types 0.1.x. Theqontinui-typesdependency is constrained as^0.1, so a runner that speaksqontinui-types 0.2.xwill not be compatible without a runner-client bump.
License
Apache-2.0. See the workspace LICENSE.