d653cbcadc
- Journal pane now distinguishes 'no entries' from 'no journal access': journalctl exits 0 with empty output when the agent's user simply can't see the target's entries (demo mode / user-run agents), explaining itself only on stderr. The agent forwards that hint as an additive JournalResponse.notice and the client renders it with practical advice. Verified E2E via a stub journalctl emulating the unprivileged case. - Version 1.60.0 across all crates (1.51 would read fine, but the repo's scheme is 1.40/1.50/…, and a literal 1.6.0 would sort BELOW 1.50.0 in semver). All user-facing version strings already come from CARGO_PKG_VERSION — a stale binary was the only way to see an old one. - scripts/install.sh: build-from-source install/upgrade for the test fleet (Linux + macOS). Detects in-repo checkouts, installs rustup when missing, replaces a systemd socktop-agent service binary in place and restarts it, requires system protoc on riscv64. - build.rs (agent + connector): fall back to $PROTOC / PATH when protoc-bin-vendored has no binary for the host (riscv64) — native SBC builds previously panicked in the build script. - CHANGELOG.md covering v1.50.0 -> 1.60.0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
61 lines
1.9 KiB
TOML
61 lines
1.9 KiB
TOML
[package]
|
|
name = "socktop_connector"
|
|
version = "1.60.0"
|
|
edition = "2024"
|
|
license = "MIT"
|
|
description = "WebSocket connector library for socktop agent communication"
|
|
authors = ["Jason Witty <jasonpwitty+socktop@proton.me>"]
|
|
repository = "https://github.com/jasonwitty/socktop"
|
|
readme = "README.md"
|
|
keywords = ["monitoring", "websocket", "metrics", "system"]
|
|
categories = ["network-programming", "development-tools"]
|
|
documentation = "https://docs.rs/socktop_connector"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
# docs.rs specific metadata
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[dependencies]
|
|
# WebSocket client - only for non-WASM targets
|
|
tokio-tungstenite = { workspace = true, optional = true }
|
|
tokio = { workspace = true, optional = true }
|
|
futures-util = { workspace = true, optional = true }
|
|
url = { workspace = true, optional = true }
|
|
|
|
# WASM WebSocket support
|
|
wasm-bindgen = { version = "0.2", optional = true }
|
|
wasm-bindgen-futures = { version = "0.4", optional = true }
|
|
js-sys = { version = "0.3", optional = true }
|
|
web-sys = { version = "0.3", features = ["WebSocket", "MessageEvent", "ErrorEvent", "CloseEvent", "BinaryType", "Window", "console"], optional = true }
|
|
|
|
# TLS support
|
|
rustls = { version = "0.23", features = ["ring"], optional = true }
|
|
rustls-pemfile = { version = "2.1", optional = true }
|
|
|
|
# Serialization - always available
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
# Compression - used in both networking and WASM modes
|
|
flate2 = "1.0"
|
|
|
|
# Protobuf - always available
|
|
prost = { workspace = true }
|
|
|
|
# Error handling - always available
|
|
thiserror = "2.0"
|
|
|
|
[build-dependencies]
|
|
prost-build = "0.13"
|
|
protoc-bin-vendored = "3.0"
|
|
|
|
[features]
|
|
default = ["networking", "tls"]
|
|
networking = ["tokio-tungstenite", "tokio", "futures-util", "url"]
|
|
tls = ["networking", "rustls", "rustls-pemfile"]
|
|
wasm = ["wasm-bindgen", "wasm-bindgen-futures", "js-sys", "web-sys"] # WASM-compatible networking with compression
|