[workspace] resolver = "2" members = [ "crates/lightningstor-types", "crates/lightningstor-api", "crates/lightningstor-node", "crates/lightningstor-distributed", "crates/lightningstor-storage", "crates/lightningstor-server", ] [workspace.package] version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.75" authors = ["LightningStor Contributors"] repository = "https://github.com/plasmavmc/lightningstor" [workspace.dependencies] # Internal crates lightningstor-types = { path = "crates/lightningstor-types" } lightningstor-api = { path = "crates/lightningstor-api" } lightningstor-node = { path = "crates/lightningstor-node" } lightningstor-distributed = { path = "crates/lightningstor-distributed" } lightningstor-storage = { path = "crates/lightningstor-storage" } lightningstor-server = { path = "crates/lightningstor-server" } # Async runtime tokio = { version = "1.40", features = ["full"] } tokio-stream = "0.1" futures = "0.3" async-trait = "0.1" # gRPC tonic = "0.12" tonic-build = "0.12" tonic-health = "0.12" prost = "0.13" prost-types = "0.13" # HTTP (S3-compatible API) axum = "0.7" tower = "0.5" tower-http = { version = "0.6", features = ["trace", "cors"] } http = "1.0" http-body-util = "0.1" hyper = { version = "1.4", features = ["full"] } # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" quick-xml = { version = "0.36", features = ["serialize"] } # Utilities thiserror = "1.0" anyhow = "1.0" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } bytes = "1.5" dashmap = "6" uuid = { version = "1", features = ["v4", "serde"] } chrono = { version = "0.4", features = ["serde"] } base64 = "0.22" hex = "0.4" md-5 = "0.10" sha2 = "0.10" # Metrics metrics = "0.23" metrics-exporter-prometheus = "0.15" # Configuration toml = "0.8" clap = { version = "4", features = ["derive", "env"] } # Testing tempfile = "3.10" [workspace.lints.rust] unsafe_code = "deny" [workspace.lints.clippy] all = "warn"