Files
overlord/plugins/rust-lite-builder/README.md
T

2.2 KiB

Rust Lite Builder Plugin

This trusted server-only plugin registers Rust Lite as an agent build provider. Select Rust Lite from the Builder's Agent Type field, choose targets, and start the build normally. Output, history, downloads, expiration, rate limits, RBAC, and artifact hooks remain owned by the Overlord server.

The resulting client supports authenticated enrollment, TLS identity pinning, heartbeat, reconnect behavior, and interactive TTY console sessions. It intentionally contains no plugin loader or other remote command handlers.

During compilation the Build page shows estimated overall/target percentages, completed Cargo crates, elapsed time, the current compile or link/LTO phase, and a rolling ETA. Cargo does not expose exact link progress, so percentages and ETA are estimates. Completed target durations are retained in plugin data to improve later estimates, and the persistent Cargo target directory makes subsequent builds substantially faster.

The Cargo Jobs setting defaults to 0, which leaves parallelism at Cargo's host-CPU default. Set a positive number only when the server needs an explicit resource cap. The plugin cache is separate from Overlord-Lite/target, so the first plugin build does not reuse artifacts from a manual source-tree build.

The server host needs Rust 1.88 or newer. Native-host builds work with the standard Rust installation. Cross-target builds additionally require the target from rustup target add <triple> and a compatible linker/toolchain.

The plugin locates Overlord-Lite beside the server runtime or under its dist/ directory. Production package scripts copy that source automatically.

Builder releases compile in the selected server URL, agent token, and signed build tag. Runtime OVERLORD_SERVER, OVERLORD_AGENT_TOKEN, and OVERLORD_BUILD_TAG variables can still override those defaults.

Builds also embed the server's active TLS SPKI pins. This lets Lite clients trust the server's generated self-signed certificate without disabling certificate verification and protects later HTTPS plugin downloads too.

All provider builds use Cargo's --release profile. That profile uses opt-level = "z", full LTO, one codegen unit, symbol stripping, and panic = "abort".