[package] name = "tvix-store" version = "0.1.0" edition = "2021" [dependencies] anyhow = { workspace = true } async-compression = { workspace = true, features = ["tokio", "bzip2", "gzip", "xz", "zstd"] } async-stream = { workspace = true } blake3 = { workspace = true, features = ["rayon", "std"] } bstr = { workspace = true } bytes = { workspace = true } clap = { workspace = true, features = ["derive", "env"] } count-write = { workspace = true } data-encoding = { workspace = true } ed25519 = { workspace = true } ed25519-dalek = { workspace = true } futures = { workspace = true } lazy_static = { workspace = true } nix-compat = { path = "../nix-compat", features = ["async"] } pin-project-lite = { workspace = true } prost = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } serde_with = { workspace = true } serde_qs = { workspace = true } sha2 = { workspace = true } sled = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true, features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio-listener = { workspace = true, features = ["clap", "multi-listener", "sd_listen", "tonic012"] } tokio-stream = { workspace = true, features = ["fs"] } tokio-util = { workspace = true, features = ["io", "io-util", "compat"] } tonic = { workspace = true, features = ["tls", "tls-roots"] } tower = { workspace = true } tower-http = { workspace = true, features = ["trace"] } tvix-castore = { path = "../castore" } url = { workspace = true } walkdir = { workspace = true } reqwest = { workspace = true, features = ["rustls-tls-native-roots", "stream"] } reqwest-middleware = { workspace = true } lru = { workspace = true } parking_lot = { workspace = true } tvix-tracing = { path = "../tracing", features = ["tonic", "reqwest"] } tracing = { workspace = true } tracing-indicatif = { workspace = true } hyper-util = { workspace = true } toml = { version = "0.8.19", optional = true } tonic-health = { workspace = true } redb = { workspace = true } mimalloc = { workspace = true } tonic-reflection = { workspace = true, optional = true } bigtable_rs = { workspace = true, optional = true } [build-dependencies] prost-build = { workspace = true } tonic-build = { workspace = true } [dev-dependencies] async-process = { workspace = true } rstest = { workspace = true } rstest_reuse = { workspace = true } tempfile = { workspace = true } tokio-retry = { workspace = true } [features] default = ["cloud", "fuse", "otlp", "tonic-reflection"] cloud = [ "dep:bigtable_rs", "tvix-castore/cloud" ] fuse = ["tvix-castore/fuse"] otlp = ["tvix-tracing/otlp"] tonic-reflection = ["dep:tonic-reflection", "tvix-castore/tonic-reflection"] tracy = ["tvix-tracing/tracy"] virtiofs = ["tvix-castore/virtiofs"] xp-store-composition = ["toml"] # Whether to run the integration tests. # Requires the following packages in $PATH: # cbtemulator, google-cloud-bigtable-tool integration = [] [lints] workspace = true