feat(host-agent): Rust rewrite Phase 0 — multi-instance foundation, v2 wire protocol, real telemetry
All checks were successful
Test Asgard Runner / test (push) Successful in 3s
All checks were successful
Test Asgard Runner / test (push) Successful in 3s
New corrosion-host-agent/ crate (Go companion-agent stays as behavior
reference until parity). Wire protocol v2 per COA-B: instance-scoped
subjects corrosion.{license}.{instance}.* + host-level .host.* — spec
in PROTOCOL.md, designed for the license->host->instance fleet model.
- Multi-instance TOML config in the foundation, not retrofitted
- NATS layer on the Vigilance production profile (infinite reconnect,
capped backoff, 30s ping, 8192-msg offline buffer)
- Heartbeat with real sysinfo telemetry — Go agent shipped hardcoded
disk/cpu placeholders; this is the panel's first true Resources data
- Connectivity prober (outbound TCP, periodic + on-demand)
- Host cmd channel (ping/probe/sysinfo), going-offline beacon,
CancellationToken shutdown
- Live-fire verified against production NATS; artifacts: 3.7MB static
linux-musl, 3.8MB windows .exe (static CRT)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
22
corrosion-host-agent/.cargo/config.toml
Normal file
22
corrosion-host-agent/.cargo/config.toml
Normal file
@@ -0,0 +1,22 @@
|
||||
# Corrosion Host Agent — cross-compilation configuration
|
||||
#
|
||||
# Deploy targets:
|
||||
# Linux: x86_64-unknown-linux-musl (fully static — runs on any distro)
|
||||
# Windows: x86_64-pc-windows-msvc (build via `cargo xwin build` on non-Windows)
|
||||
#
|
||||
# Prerequisites on macOS:
|
||||
# brew install filosottile/musl-cross/musl-cross (x86_64-linux-musl-gcc)
|
||||
# cargo install cargo-xwin (bundles MSVC CRT + lld-link)
|
||||
|
||||
[target.x86_64-unknown-linux-musl]
|
||||
linker = "x86_64-linux-musl-gcc"
|
||||
|
||||
[env]
|
||||
CC_x86_64_unknown_linux_musl = "x86_64-linux-musl-gcc"
|
||||
|
||||
[target.x86_64-pc-windows-msvc]
|
||||
linker = "lld-link"
|
||||
# Statically link the MSVC CRT so the agent runs on fresh Windows installs
|
||||
# without the Visual C++ Redistributable (otherwise: STATUS_DLL_NOT_FOUND on
|
||||
# any machine missing VCRUNTIME140.dll — most fresh OEM images).
|
||||
rustflags = ["-C", "target-feature=+crt-static"]
|
||||
Reference in New Issue
Block a user