[package]
name = "fiberlb-server"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true

[[bin]]
name = "fiberlb"
path = "src/main.rs"

[dependencies]
fiberlb-types = { workspace = true }
fiberlb-api = { workspace = true }
chainfire-client = { path = "../../../chainfire/chainfire-client" }
flaredb-client = { path = "../../../flaredb/crates/flaredb-client" }
iam-service-auth = { path = "../../../iam/crates/iam-service-auth" }

tokio = { workspace = true }
tonic = { workspace = true }
tonic-health = { workspace = true }
prost = { workspace = true }
prost-types = { workspace = true }

# HTTP/L7
axum = { version = "0.7", features = ["macros"] }
hyper = { workspace = true }
hyper-util = { workspace = true }
tower = "0.4"
regex = "1.10"
base64 = "0.22"

# TLS
rustls = "0.23"
rustls-pemfile = "2.0"
tokio-rustls = "0.26"
axum-server = { version = "0.7", features = ["tls-rustls"] }

tracing = { workspace = true }
tracing-subscriber = { workspace = true }
metrics = { workspace = true }
metrics-exporter-prometheus = { workspace = true }
clap = { workspace = true }
dashmap = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
toml = { workspace = true }
thiserror = { workspace = true }
uuid = { workspace = true }
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio-rustls", "postgres", "sqlite"] }

[build-dependencies]
tonic-build = "0.12"
protoc-bin-vendored = "3.0"

[dev-dependencies]
