Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarm-controller-api/src/lib.rs
atlas be92bc0835 share the forge and schedule wire types through swarm-controller-api
swarmctl hand-mirrored the controller's forge make-admin response and
the /api/schedules bodies. Both now import them from a new serde-only
crate, swarm-controller-api, the way hivectl and hive-c0re share
hive-host-sock. ToSchema sits behind its schema feature, which only
the controller turns on.

The wire format is unchanged: round-trip tests in the new crate pin
each type against the JSON the controller and swarmctl produced, and
the controller's OpenAPI document for these routes is byte-identical.

Files: swarm-controller-api/ is the new crate; swarm-controller and
swarmctl (src, Cargo.toml, Cargo.lock, root Cargo.toml) switch to it;
CLAUDE.md lists the crate and which swarmctl shapes are still local
mirrors; swarmctl/README.md says the forge and schedule bodies come
from the crate, so none of its lines still call them mirrored.

Part of #5472.
2026-10-17 23:27:14 +02:00

8 lines
300 B
Rust

//! Wire types for swarm-controller's HTTP API.
//!
//! `swarm-controller` serves these bodies and `swarmctl` sends and reads
//! them, so the shapes cannot drift between the two. Serde only; with the
//! `schema` feature each type also derives `utoipa::ToSchema`.
pub mod forge;
pub mod schedules;