Skip to main content

Crate hatchery_build

Crate hatchery_build 

Source
Expand description

Remote build and sign for hatchery nodes.

A node that must not compile locally and must not hold signing secrets asks C2 (POST /v1/build on the enrollment listener, signed with its identity key). C2 checks the node’s status and the build capability, then asks the build host, which checks admission again, runs a configured recipe, hashes the artifact and signs a receipt with a key that never leaves the host.

Re-exports§

pub use host::serve;
pub use host::Admission;
pub use host::BuildError;
pub use host::BuildHost;
pub use host::C2Admission;
pub use host::Recipe;
pub use host::Recipes;
pub use host::Signer;
pub use wire::BuildReceipt;
pub use wire::BuildResponse;
pub use wire::HostRequest;
pub use wire::ReceiptError;
pub use wire::SignedBuildRequest;

Modules§

host
The build host: admission, recipes, build, sign. The signing key is read once at start, kept in memory, never passed to a build, and never returned.
http
Minimal HTTP/1.1 helpers (one request per connection) shared by the host, C2 and the node.
wire
Wire types: the node’s signed request, the host request C2 forwards, and the signed receipt.