[package]
name = "storage"
version = "0.2.0"
authors = [
    "Andrey Vasnetsov <vasnetsov93@gmail.com>",
    "Qdrant Team <info@qdrant.tech>",
]
license = "Apache-2.0"
edition = "2024"

[lints]
workspace = true

[features]
tracing = ["dep:tracing", "api/tracing", "collection/tracing", "segment/tracing"]
staging = ["collection/staging"]

[dev-dependencies]
fs-err = { workspace = true, features = ["debug"] }
proptest = { workspace = true }
mockito = { workspace = true }
env_logger = { workspace = true }

[dependencies]
ahash = { workspace = true }
fs-err = { workspace = true }
thiserror = { workspace = true }
rand = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
schemars = { workspace = true }
itertools = { workspace = true }
log = { workspace = true }
tonic = { workspace = true }
http = { workspace = true }
parking_lot = { workspace = true }
strum = { workspace = true }
tap = { workspace = true }
tar = { workspace = true }
chrono = { workspace = true }
validator = { workspace = true }
dashmap = { workspace = true }
semver = { workspace = true }
sha2 = { workspace = true }

# Consensus related
atomicwrites = { workspace = true }
raft = { workspace = true }
prost-for-raft = { workspace = true }
serde_cbor = { workspace = true }

common = { path = "../common/common" }
cancel = { path = "../common/cancel" }
issues = { path = "../common/issues" }
segment = { path = "../segment", default-features = false }
collection = { path = "../collection" }
shard = { path = "../shard" }
api = { path = "../api" }
wal = { path = "../wal" }
futures = { workspace = true }
anyhow = { workspace = true }
uuid = { workspace = true }
url = { workspace = true }
reqwest = { workspace = true }
tempfile = { workspace = true }
async-trait = { workspace = true }

tracing = { workspace = true, optional = true }
tracing-appender = "0.2"
