[workspace] resolver = "2" members = [ "crates/nightlight-api", "crates/nightlight-types", "crates/nightlight-server", ] [workspace.package] version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.75" authors = ["Nightlight Contributors"] [workspace.dependencies] # Internal crates nightlight-api = { path = "crates/nightlight-api" } nightlight-types = { path = "crates/nightlight-types" } nightlight-server = { path = "crates/nightlight-server" } # Async runtime tokio = { version = "1.40", features = ["full"] } tokio-stream = "0.1" futures = "0.3" async-trait = "0.1" # gRPC and Protocol Buffers tonic = { version = "0.12", features = ["tls", "tls-roots"] } tonic-build = "0.12" tonic-health = "0.12" prost = "0.13" prost-types = "0.13" # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.9" bincode = "1.3" # Error handling thiserror = "1.0" anyhow = "1.0" # Logging & Tracing tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Metrics export (for self-monitoring) prometheus = "0.13" # HTTP server (for Prometheus remote_write API) axum = { version = "0.7", features = ["macros"] } hyper = "1.0" tower = "0.4" tower-http = { version = "0.5", features = ["trace", "compression-full"] } # Compression (for remote_write protocol) snap = "1.1" # Snappy compression for Prometheus remote_write # Utilities bytes = "1.5" parking_lot = "0.12" # CLI and Configuration clap = { version = "4.5", features = ["derive"] } toml = "0.8" # Testing tempfile = "3" criterion = { version = "0.5", features = ["html_reports"] } [workspace.lints.rust] unsafe_code = "warn" [workspace.lints.clippy] all = "warn"