e256f73439
iroh-blobs 0.35 fs store under <store_dir>/blobs. Add imports files or whole directory trees (as Collections, deterministic order), Materialize exports them with a real FICLONE reflink attempt and streaming-copy fallback, Gc is an explicit mark-and-sweep rooted at the pins. Pins, trusted peers and hash formats persist in meta.json (atomic writes). Store reads run on a LocalPool because iroh-blobs entry readers are not Send. Integration tests drive the real daemon binary: directory round trip byte-identical, gc keeps pinned/drops unpinned, reflink verified on the repo's own filesystem (XFS), plus a 32-case proptest round trip. Dependencies: iroh-blobs =0.35.0 (the store itself; pinned per spec), iroh-io (AsyncSliceReader traits to read store entries), reflink-copy (FICLONE with copy fallback, per spec), proptest (dev-only, round-trip property test). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
34 lines
906 B
TOML
34 lines
906 B
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["varde-proto", "varde-daemon", "varde-ctl"]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/bendiklh/varde"
|
|
rust-version = "1.85"
|
|
|
|
[workspace.dependencies]
|
|
varde-proto = { path = "varde-proto" }
|
|
|
|
# Pinned per spec: 0.35 is the recommended production line of iroh-blobs;
|
|
# the post-0.35 rewrite is not yet production quality.
|
|
iroh-blobs = "=0.35.0"
|
|
iroh = "0.35"
|
|
iroh-io = "0.6"
|
|
reflink-copy = "0.1"
|
|
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
thiserror = "2"
|
|
anyhow = "1"
|
|
tokio = { version = "1", features = ["macros", "rt-multi-thread", "net", "io-util", "signal", "sync", "time", "fs"] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
toml = "0.8"
|
|
|
|
[profile.release]
|
|
lto = "thin"
|