[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 } iroh-blobs = { workspace = true } # mDNS/local-network address lookup left iroh core in 1.0. iroh-mdns-address-lookup = "0.4" # Interop with iroh-blobs streams and channels; both are already in the # dependency tree via iroh-blobs. n0-future = "0.1" irpc = "0.17" # Feature-gated D-Bus client for NetworkManager metered status. zbus = { version = "5", optional = true, default-features = false, features = ["tokio"] } # Announcement signatures use iroh's own key types; postcard is the # deterministic encoding signed over. postcard = { version = "1", features = ["use-std"] } 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"] }