Files
socktop/socktop_agent/Cargo.toml
T

72 lines
2.8 KiB
TOML
Raw Normal View History

2025-08-08 01:03:35 -07:00
[package]
name = "socktop_agent"
2026-08-23 09:39:58 -07:00
version = "1.60.1"
2025-08-08 01:03:35 -07:00
authors = ["Jason Witty <jasonpwitty+socktop@proton.me>"]
description = "Socktop agent daemon. Serves host metrics over WebSocket."
edition = "2024"
2025-08-11 12:10:40 -07:00
license = "MIT"
readme = "README.md"
homepage = "https://github.com/jasonwitty/socktop"
repository = "https://github.com/jasonwitty/socktop"
2025-08-08 01:03:35 -07:00
[dependencies]
# Tokio: minimal features instead of "full" to reduce binary size.
# rt-multi-thread (runtime), net (WebSocket), sync (Mutex/oneshot),
# macros (#[tokio::test]), process (async journalctl).
tokio = { version = "1", features = ["rt-multi-thread", "net", "sync", "macros", "process"] }
2025-08-08 01:03:35 -07:00
axum = { version = "0.7", features = ["ws", "macros"] }
2025-08-11 20:47:21 -07:00
sysinfo = { version = "0.37", features = ["network", "disk", "component"] }
2025-08-08 01:03:35 -07:00
serde = { version = "1", features = ["derive"] }
serde_json = "1"
flate2 = { version = "1", default-features = false, features = ["rust_backend"] }
futures-util = "0.3.31"
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
gfxinfo = { version = "0.1.2", optional = true }
# Direct NVML fallback for distros that ship only libnvidia-ml.so.1 (Debian
# and derivatives) — gfxinfo's default init dlopens the unversioned name.
# Same version gfxinfo already pulls in, so this adds no new build cost.
nvml-wrapper = { version = "0.10", optional = true }
2025-08-16 01:23:20 -07:00
once_cell = "1.19"
2025-11-17 15:09:53 -08:00
axum-server = { version = "0.7", features = ["tls-rustls"] }
rustls = { version = "0.23", features = ["aws-lc-rs"] }
2025-08-16 01:23:20 -07:00
rustls-pemfile = "2.1"
rcgen = "0.13"
2025-08-16 01:23:20 -07:00
anyhow = "1"
hostname = "0.3"
2025-08-19 23:24:36 -07:00
prost = { workspace = true }
time = { version = "0.3", default-features = false, features = ["formatting", "macros", "parsing" ] }
[features]
default = ["gpu"]
gpu = ["gfxinfo", "nvml-wrapper"]
logging = ["tracing", "tracing-subscriber"]
2025-08-19 23:24:36 -07:00
[build-dependencies]
prost-build = "0.13"
tonic-build = { version = "0.12", default-features = false, optional = true }
protoc-bin-vendored = "3"
2025-08-16 01:23:20 -07:00
[dev-dependencies]
assert_cmd = "2.0"
2025-08-28 12:03:45 -07:00
tempfile = "3.10"
tokio-tungstenite = "0.21"
[package.metadata.deb]
maintainer = "Jason Witty <jasonpwitty+socktop@proton.me>"
copyright = "2024, Jason Witty <jasonpwitty+socktop@proton.me>"
license-file = ["../LICENSE", "4"]
extended-description = """\
socktop_agent is the daemon component that runs on remote hosts to collect \
and serve system metrics over WebSocket. It gathers CPU, memory, disk, network, \
GPU, and process information that can be monitored remotely by the socktop TUI client."""
depends = "$auto"
section = "admin"
priority = "optional"
assets = [
["target/release/socktop_agent", "usr/bin/", "755"],
["../README.md", "usr/share/doc/socktop_agent/", "644"],
]
maintainer-scripts = "debian/"
systemd-units = { unit-name = "socktop-agent", unit-scripts = ".", enable = false }