[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 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 sha1.workspace = true sha2.workspace = true md-5.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, features = ["logging"] } mimalloc.workspace = true tonic-reflection = { workspace = true, optional = true } bigtable_rs = { workspace = true, optional = true } auto_impl = "1.2.0" [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 hex-literal.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-composition-cli = ["toml", "tvix-castore/xp-composition-url-refs"] # Whether to run the integration tests. # Requires the following packages in $PATH: # cbtemulator, google-cloud-bigtable-tool integration = [] [lints] workspace = true