42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
# 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"`.
|