Skip to main content

Crate hatchery_server

Crate hatchery_server 

Source
Expand description

Host for hatchery subservices. See deploy/README.md.

Re-exports§

pub use config::ServerConfig;
pub use error::ServerError;
pub use subservice::State;
pub use subservice::Status;
pub use subservice::Subservice;
pub use supervisor::Supervisor;

Modules§

config
Server configuration: an optional TOML file (HATCHERY_SERVER_CONFIG) with environment variables taking precedence. Addresses, binary paths and key variable names are never compiled in beyond loopback defaults; secrets are never stored here, only the names of the variables that hold them.
control
Loopback control endpoint (minimal HTTP/1.1, no framework).
error
harness
Harness + observation host: supervises the hatchery-harness binary (the observation engine and store run inside it). Arguments come from the operator’s configuration; tokens stay in the environment the child inherits (GATE4AGENT_C2_TOKEN, operator token), never in arguments.
m4a
m4a subservice: the node-side messenger key vault (m4a-agent 0.4).
memory
memory4agent subservice (crates.io memory4agent 0.3, binary memory4agent-server). On demand only: the server never starts it by itself. It listens on loopback in 18200-18299, has no authentication, and is never published to WireGuard or outside. The child runs with a scrubbed environment so it never sees vault keys or tokens.
subservice
Subservice contract and a supervised-process implementation.
supervisor
Lifecycle: start the autostart subservices, answer health, stop everything.

Functions§

build_subservices
Build the subservices enabled by features and configuration.