Skip to main content

Module node

Module node 

Source
Expand description

The node-graph assembly: given a built store (blobs + KV), a configured Auth, and resolved ServerOptions, wire the deploy store, handler runtime, compute reconcile loop, and domain-verify reconcile loop into a RunningNode ready to hand to a transport (serve_with & friends).

This is the headline extraction of PLAN-node-library: the binary’s serve::run used to inline this wiring, so no embedder or in-process test could exercise the same graph the boatramp serve binary runs. run now resolves the environment (args -> backends -> store, signal handlers, migration, auth) and calls assemble; the cluster path keeps its own inline copy until a later step converges it here.

Structs§

NodeInput
The built store + resolved config handed to assemble. Owns the blob/KV backends and the auth/options the caller already resolved; borrows the parsed config and data directory.
RunningNode
A fully wired node: the deploy store, handler runtime, auth, and options a transport consumes, plus the detached reconcile loops kept alive for the node’s serving life. Destructure it and hold reconcile across the serve await so the loops outlive assembly.

Constants§

COMPUTE_IDLE_TIMEOUT
How long a compute workload may be idle before scale-to-zero sleeps it.
DOMAIN_VERIFY_RECONCILE_TICK
How often the domain-verify reconcile loop re-checks pending challenges.

Functions§

assemble
Wire NodeInput into a RunningNode: build the handler runtime, the deploy store (materializing the reserved default project), the compute backends + reconcile loop, and the domain-verify reconcile loop.
compute_reconcile_tick
How often the compute reconcile loop converges desired vs actual workloads. Defaults to 30s; override with BOATRAMP_COMPUTE_RECONCILE_TICK_MS (milliseconds) so compute-backed tests can converge in a fraction of a second instead of waiting a full tick for the launch/scale reconcile.