8c98c00549
Gate the unix-socket server, systemd activation, and the socket-serving run() behind a new default socket-api feature, with required-features on the binary. The core modules (daemon, store, transfer, discovery, meta) stay feature-free, so platforms without a daemon model (iOS — redoal ADR-0012) can embed Daemon directly via cargo check -p varde-daemon --no-default-features. Also cfg-gate the abstract-socket branch of sd_notify to Linux: abstract socket names don't exist elsewhere, and this was the one spot keeping varde-daemon from compiling on macOS at all. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
57 lines
1.9 KiB
TOML
57 lines
1.9 KiB
TOML
[package]
|
|
name = "varde-daemon"
|
|
description = "varde: content-addressed blob mirror daemon on iroh"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[[bin]]
|
|
name = "varde-daemon"
|
|
path = "src/main.rs"
|
|
required-features = ["socket-api"]
|
|
|
|
[dependencies]
|
|
varde-proto = { workspace = true }
|
|
iroh = { workspace = true, features = ["discovery-local-network"] }
|
|
iroh-blobs = { workspace = true }
|
|
rand = "0.8"
|
|
# The next three exist to interoperate with iroh-blobs trait signatures
|
|
# and channels; all are already in the dependency tree via iroh.
|
|
n0-future = "0.1"
|
|
async-channel = "2"
|
|
futures-lite = "2"
|
|
bytes = "1"
|
|
# Feature-gated D-Bus client for NetworkManager metered status.
|
|
zbus = { version = "5", optional = true, default-features = false, features = ["tokio"] }
|
|
# Announcement signatures: same ed25519 implementation iroh keys use,
|
|
# postcard is the deterministic encoding signed over.
|
|
ed25519-dalek = "2"
|
|
postcard = { version = "1", features = ["use-std"] }
|
|
iroh-io = { workspace = true }
|
|
reflink-copy = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true }
|
|
toml = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
[features]
|
|
# Metered-connection detection via NetworkManager over D-Bus. On by
|
|
# default; disable for systems without D-Bus (they run as unmetered).
|
|
default = ["metered", "socket-api"]
|
|
metered = ["dep:zbus"]
|
|
# The unix-socket API server, systemd socket activation, and signal
|
|
# handling. On by default; disable to embed the daemon core in-process
|
|
# on platforms without a daemon model (iOS — ADR-0012 in redoal).
|
|
socket-api = []
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
proptest = "1"
|
|
tokio = { workspace = true, features = ["test-util"] }
|