[package]
name = "dora-daemon"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
documentation.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = ["tracing", "telemetry"]
tracing = ["dep:dora-tracing"]
# telemetry flag enables to trace dora-daemon as well as send ticks with opentelemetry context
# for distributed tracing. 
telemetry = ["dep:tracing-opentelemetry"]

[dependencies]
eyre = "0.6.8"
tokio = { version = "1.20.1", features = ["full"] }
tokio-stream = { version = "0.1.11", features = ["net"] }
tracing = "0.1.36"
tracing-opentelemetry = { version = "0.18.0", optional = true }
futures-concurrency = "7.1.0"
serde_json = "1.0.86"
dora-core = { workspace = true, features = ["build"] }
flume = "0.10.14"
dora-download = { workspace = true }
dora-tracing = { workspace = true, optional = true }
dora-arrow-convert = { workspace = true }
dora-node-api = { workspace = true }
dora-message = { workspace = true }
serde_yaml = { workspace = true }
uuid = { version = "1.7", features = ["v7"] }
futures = "0.3.25"
shared-memory-server = { workspace = true }
bincode = "1.3.3"
async-trait = "0.1.64"
aligned-vec = "0.5.0"
ctrlc = "3.2.5"
which = "5.0.0"
sysinfo = "0.30.11"
crossbeam = "0.8.4"
crossbeam-skiplist = "0.1.3"
zenoh = "1.1.1"
url = "2.5.4"
git2 = { workspace = true }
dunce = "1.0.5"
itertools = "0.14"
