towerops-agent/Cargo.toml
Graham McIntire b0f3b57671
Add restart and self-update handlers, publish standalone binaries
Handle server-initiated restart (exit for Docker restart) and
self-update (download binary, verify SHA256, replace via exec)
commands received over the WebSocket channel. Report architecture
in heartbeat so the server can select the correct binary.

- Add restart and update handlers in websocket_client.rs
- Add self_update() with download, checksum verification, and exec
- Add arch field to AgentHeartbeat protobuf
- Add reqwest and sha2 dependencies
- chown binary in Dockerfile for non-root self-update
- Extract standalone binaries from Docker images in CI
- Create GitHub Releases with binary assets on version tags
2026-02-10 13:06:23 -06:00

43 lines
1 KiB
TOML

[package]
name = "towerops-agent"
version = "0.1.0"
edition = "2021"
[dependencies]
netsnmp-sys = "0.1"
libc = "0.2"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "net", "signal", "io-util"] }
thiserror = "2"
tokio-tungstenite = { version = "0.28", features = ["rustls-tls-webpki-roots"] }
tokio-rustls = "0.26"
futures = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
clap = { version = "4.5", features = ["derive", "env"] }
prost = "0.14"
prost-types = "0.14"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
russh = "0.57"
async-trait = "0.1"
home = "=0.5.12"
zeroize = { version = "1", features = ["derive"] }
anyhow = "1.0"
surge-ping = "0.8"
rand = "0.8"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
sha2 = "0.10"
[dev-dependencies]
regex = "1"
[build-dependencies]
prost-build = "0.14"
cc = "1.0"
chrono = "0.4"
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
strip = true