[package]
name = "orca-control"
version.workspace = true
edition.workspace = true
description = "Control plane: API server, reconciler, and cluster state management"
license.workspace = true
repository.workspace = true
authors.workspace = true
include = ["src/**/*", "build.rs", "proto/**/*", "Cargo.toml"]

[dependencies]
orca-core = { workspace = true }
orca-agent = { path = "../orca-agent", version = "0.2.7-rc.2" }
orca-proxy = { workspace = true }
tokio = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
anyhow = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
axum = { workspace = true }
tower = { workspace = true }
tower-http = { version = "0.6", features = ["cors", "trace"] }
uuid = { workspace = true }
chrono = { workspace = true }
async-trait = { workspace = true }
tokio-util = { version = "0.7", features = ["io"] }
tonic = { workspace = true }
prost = { workspace = true }
openraft = { workspace = true }
redb = { workspace = true }
reqwest = { workspace = true }
hmac = { workspace = true }
sha2 = { workspace = true }
hex = { workspace = true }
cron = "0.15"
hostname = "0.4"
dirs-next = "2"
rustls = "0.23"
rustls-pemfile = "2"
futures-util = "0.3"
base64 = "0.22.1"

[build-dependencies]
tonic-build = "0.13"

[dev-dependencies]
http-body-util = "0.1"
tower = { workspace = true, features = ["util"] }
bollard = { workspace = true }
tokio-tungstenite = "0.26"
futures-util = "0.3"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.rcgen]
version = "0.13"
