Files
varde/varde-daemon/Cargo.toml
T
Bendik Aagaard LynghaugandClaude Opus 5.5 687af8bd2a Put and Read: content on the socket, for clients that share no files
The system daemon runs as its own user behind ProtectHome, so it can
neither read a file a desktop app wrote for Add nor write one back for
Materialize - redoal on the system varde failed every get with EACCES.
Put imports base64 bytes carried in the request and Read returns a raw
blob's bytes in the reply, both up to MAX_INLINE_BYTES (16 MiB).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 13:08:50 +02:00

56 lines
1.8 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 }
iroh-blobs = { workspace = true }
# Request::Put / Read carry content inline, base64.
base64 = "0.22"
# 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"] }