[package] name = "tvix-castore" version = "0.1.0" edition = "2021" [dependencies] async-compression = { version = "0.4.12", features = ["tokio", "zstd"]} async-stream = "0.3.5" async-tempfile = "0.4.0" blake3 = { version = "1.5.4", features = ["rayon", "std", "traits-preview"] } bstr = "1.10.0" bytes = "1.7.1" data-encoding = "2.6.0" digest = "0.10.7" fastcdc = { version = "3.1.0", features = ["tokio"] } futures = "0.3.30" lazy_static = "1.5.0" object_store = { version = "0.10.2", features = ["http"] } parking_lot = "0.12.3" pin-project-lite = "0.2.14" prost = "0.13.1" sled = { version = "0.34.7" } thiserror = "1.0.63" tokio-stream = { version = "0.1.15", features = ["fs", "net"] } tokio-util = { version = "0.7.11", features = ["io", "io-util", "codec"] } tokio-tar = "0.3.1" tokio = { version = "1.39.3", features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tonic = "0.12.2" tower = "0.4.13" tracing = "0.1.40" tracing-indicatif = "0.3.6" tvix-tracing = { path = "../tracing", features = ["tonic"] } url = "2.5.2" walkdir = "2.5.0" zstd = "0.13.2" serde = { version = "1.0.209", features = [ "derive" ] } serde_with = "3.9.0" serde_qs = "0.12.0" petgraph = "0.6.5" erased-serde = "0.4.5" serde_tagged = "0.3.0" hyper-util = "0.1.7" redb = "2.1.2" [dependencies.bigtable_rs] optional = true # https://github.com/liufuyang/bigtable_rs/pull/86 git = "https://github.com/liufuyang/bigtable_rs" rev = "1818355a5373a5bc2c84287e3a4e3807154ac8ef" [dependencies.fuse-backend-rs] optional = true version = "0.11.0" [dependencies.libc] optional = true version = "0.2.158" [dependencies.threadpool] version = "1.8.1" optional = true [dependencies.tonic-reflection] optional = true version = "0.12.2" [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.2" [build-dependencies] prost-build = "0.13.1" tonic-build = "0.12.2" [dev-dependencies] async-process = "2.2.4" rstest = "0.19.0" tempfile = "3.12.0" tokio-retry = "0.3.0" hex-literal = "0.4.1" rstest_reuse = "0.6.0" xattr = "1.3.1" serde_json = "*" [features] default = ["cloud"] cloud = [ "dep:bigtable_rs", "object_store/aws", "object_store/azure", "object_store/gcp", ] fs = ["dep:fuse-backend-rs", "dep:threadpool", "dep:libc"] 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"] # Whether to run the integration tests. # Requires the following packages in $PATH: # cbtemulator, google-cloud-bigtable-tool integration = [] [lints] workspace = true