[package]
name = "tatara-engine"
description = "Drivers, nix eval, cluster logic, P2P, and scheduling engine for tatara"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
[features]
default = []
grpc = ["dep:tonic", "dep:prost", "dep:prost-types", "dep:tonic-build"]
kasou = ["dep:kasou"]
[dependencies]
tatara-core = { path = "../tatara-core" , version = "0.2.65" }
anyhow = "1.0"
thiserror = "2.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
tokio = { version = "1", features = ["full"] }
tokio-stream = "0.1"
async-trait = "0.1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }
sha2 = "0.10"
blake3 = "1.6"
hex = "0.4"
bincode = "1.3"
reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"], default-features = false }
chitchat = "0.10"
openraft = { version = "=0.9.22", features = ["serde", "storage-v2"] }
redb = "3.1"
mdns-sd = "0.18"
async-nats = "0.38"
rand = "0.9"
hostname = "0.4"
dirs = "6.0"
futures-core = "0.3"
[target.'cfg(unix)'.dependencies]
nix = { version = "0.29", features = ["signal", "process"] }
[target.'cfg(target_os = "macos")'.dependencies]
kasou = { version = "0.1", optional = true }
tonic = { version = "0.12", features = ["transport"], optional = true }
prost = { version = "0.13", optional = true }
prost-types = { version = "0.13", optional = true }
[dev-dependencies]
tempfile = "3"
[build-dependencies]
tonic-build = { version = "0.12", optional = true }