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>
40 lines
1.2 KiB
TOML
40 lines
1.2 KiB
TOML
# Corrosion Host Agent configuration
|
|
# Default location: /etc/corrosion/agent.toml (Linux)
|
|
# C:\ProgramData\Corrosion\agent.toml (Windows)
|
|
# Override with: corrosion-host-agent --config /path/to/agent.toml
|
|
#
|
|
# Secrets can come from the environment instead of this file:
|
|
# CORROSION_LICENSE_ID, CORROSION_NATS_URL, CORROSION_NATS_TOKEN
|
|
|
|
[agent]
|
|
license_id = "your-license-uuid"
|
|
nats_url = "nats://nats.corrosionmgmt.com:4222"
|
|
# nats_token = "set-me-or-use-CORROSION_NATS_TOKEN"
|
|
heartbeat_seconds = 60
|
|
log_level = "info"
|
|
|
|
# One agent supervises every game instance on this host.
|
|
# Each instance gets a stable id (lowercase letters, digits, '-', '_') that
|
|
# the panel uses to address it. Changing an id orphans its panel history.
|
|
|
|
[[instance]]
|
|
id = "rust-main"
|
|
game = "rust" # rust | conan | soulmask | dune
|
|
root = "/opt/rustserver"
|
|
label = "Main 2x Vanilla"
|
|
|
|
# [[instance]]
|
|
# id = "soulmask-main"
|
|
# game = "soulmask"
|
|
# root = "/opt/soulmask/main"
|
|
# label = "Cloud Mist Forest (cluster main)"
|
|
|
|
[prober]
|
|
interval_seconds = 300
|
|
|
|
# Extra outbound TCP checks beyond the built-in defaults:
|
|
# [[prober.target]]
|
|
# name = "steam-cdn"
|
|
# host = "steamcdn-a.akamaihd.net"
|
|
# port = 443
|