[package] name = "tvix-store" version = "0.1.0" edition = "2021" [dependencies] anyhow = "1.0.68" async-stream = "0.3.5" blake3 = { version = "1.3.1", features = ["rayon", "std"] } bytes = "1.4.0" clap = { version = "4.0", features = ["derive", "env"] } count-write = "0.1.0" data-encoding = "2.3.3" futures = "0.3.28" lazy_static = "1.4.0" nix-compat = { path = "../nix-compat", features = ["async"] } parking_lot = "0.12.1" pin-project-lite = "0.2.13" prost = "0.12.1" sha2 = "0.10.6" sled = { version = "0.34.7", features = ["compression"] } thiserror = "1.0.38" tokio = { version = "1.32.0", features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio-listener = { version = "0.2.2", features = [ "tonic010" ] } tokio-stream = { version = "0.1.14", features = ["fs"] } tokio-util = { version = "0.7.9", features = ["io", "io-util", "compat"] } tonic = { version = "0.10.2", features = ["tls", "tls-roots"] } tower = "0.4.13" tracing = "0.1.37" tracing-subscriber = { version = "0.3.16", features = ["json"] } tvix-castore = { path = "../castore" } url = "2.4.0" walkdir = "2.4.0" async-recursion = "1.0.5" [dependencies.fuse-backend-rs] optional = true # TODO: Switch back to upstream version once https://github.com/cloud-hypervisor/fuse-backend-rs/pull/157 lands. git = "https://github.com/griff/fuse-backend-rs" branch = "macfuse-fix" [dependencies.vhost] optional = true version = "0.6" [dependencies.vhost-user-backend] optional = true version = "0.8" [dependencies.virtio-queue] optional = true version = "0.7" [dependencies.vm-memory] optional = true version = "0.10" [dependencies.vmm-sys-util] optional = true version = "0.11" [dependencies.virtio-bindings] optional = true version = "0.2.1" [dependencies.tonic-reflection] optional = true version = "0.10.2" [dependencies.libc] optional = true version = "0.2.144" [build-dependencies] prost-build = "0.12.1" tonic-build = "0.10.2" [dev-dependencies] test-case = "2.2.2" tempfile = "3.3.0" tokio-retry = "0.3.0" [features] default = ["fuse", "tonic-reflection"] fs = ["dep:libc", "dep:fuse-backend-rs"] virtiofs = [ "fs", "dep:vhost", "dep:vhost-user-backend", "dep:virtio-queue", "dep:vm-memory", "dep:vmm-sys-util", "dep:virtio-bindings", "fuse-backend-rs?/vhost-user-fs", # impl FsCacheReqHandler for SlaveFsCacheReq "fuse-backend-rs?/virtiofs", ] fuse = ["fs"] tonic-reflection = ["dep:tonic-reflection", "tvix-castore/tonic-reflection"]