build: split into multiple crates

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6757cc99a0a5bc0c78193487df1ef52b6a6a6964
This commit is contained in:
raf 2026-05-11 12:47:42 +03:00
commit 2c5210aee7
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
22 changed files with 661 additions and 161 deletions

View file

@ -1,49 +1,78 @@
[package]
name = "ncro"
version = "1.0.0"
[workspace]
members = [ "crates/*" ]
resolver = "3"
[workspace.package]
edition = "2024"
license = "MIT"
version = "1.0.0"
[workspace.dependencies]
anyhow = "1.0.102"
axum = "0.8.9"
base64 = "0.22.1"
bytes = "1.11.1"
chrono = "0.4.44"
clap = "4.6.1"
ed25519-dalek = "2.2.0"
futures-util = "0.3.32"
hex = "0.4.3"
humantime-serde = "1.1.1"
mdns-sd = "0.19.1"
prometheus = "0.14.0"
rand = "0.10.1"
reqwest = { version = "0.13.3", default-features = false }
rmp-serde = "1.3.1"
serde = "1.0.228"
serde_json = "1.0.149"
serde_yaml = "0.9.34"
sqlx = { version = "0.8.6", default-features = false }
tempfile = "3.27.0"
thiserror = "2.0.18"
tokio = "1.52.3"
tower = "0.5.3"
tower-http = "0.6.10"
tracing = "0.1.44"
tracing-subscriber = "0.3.23"
url = "2.5.8"
ncro-config = { path = "crates/config", version = "1.0.0" }
ncro-db = { path = "crates/db", version = "1.0.0" }
ncro-discovery = { path = "crates/discovery", version = "1.0.0" }
ncro-health = { path = "crates/health", version = "1.0.0" }
ncro-mesh = { path = "crates/mesh", version = "1.0.0" }
ncro-metrics = { path = "crates/metrics", version = "1.0.0" }
ncro-narinfo = { path = "crates/narinfo", version = "1.0.0" }
ncro-router = { path = "crates/router", version = "1.0.0" }
ncro-server = { path = "crates/server", version = "1.0.0" }
[package]
name = "ncro"
version.workspace = true
edition.workspace = true
license.workspace = true
[dependencies]
anyhow = "1.0.102"
async-trait = "0.1.89"
axum = { version = "0.8.9", features = [ "macros" ] }
base64 = "0.22.1"
bytes = "1.11.1"
chrono = { version = "0.4.44", features = [ "serde" ] }
clap = { version = "4.6.1", features = [ "derive", "env" ] }
ed25519-dalek = { version = "2.2.0", features = [ "rand_core" ] }
futures-util = "0.3.32"
hex = "0.4.3"
http = "1.4.0"
http-body-util = "0.1.3"
humantime-serde = "1.1.1"
mdns-sd = "0.15.2"
prometheus = "0.14.0"
rand = "0.8.6"
reqwest = { version = "0.12.28", default-features = false, features = [ "rustls-tls", "stream" ] }
rmp-serde = "1.3.1"
serde = { version = "1.0.228", features = [ "derive" ] }
serde_json = "1.0.149"
serde_yaml = "0.9.34"
sqlx = { version = "0.8.6", default-features = false, features = [
"runtime-tokio-rustls",
"sqlite",
"macros",
"migrate",
"chrono",
] }
thiserror = "2.0.18"
tokio = { version = "1.52.3", features = [ "macros", "rt-multi-thread", "signal", "time", "net", "fs" ] }
tokio-util = { version = "0.7.18", features = [ "io" ] }
tower-http = { version = "0.6.10", features = [ "trace" ] }
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = [ "env-filter", "json" ] }
url = "2.5.8"
anyhow.workspace = true
axum.workspace = true
clap = { workspace = true, features = [ "derive", "env" ] }
hex.workspace = true
tokio = { workspace = true, features = [ "macros", "rt-multi-thread", "signal", "time", "net", "fs" ] }
tracing.workspace = true
tracing-subscriber = { workspace = true, features = [ "env-filter", "json" ] }
ncro-config.workspace = true
ncro-db.workspace = true
ncro-discovery.workspace = true
ncro-health.workspace = true
ncro-mesh.workspace = true
ncro-metrics.workspace = true
ncro-router.workspace = true
ncro-server.workspace = true
[dev-dependencies]
tempfile = "3.27.0"
tower = { version = "0.5.3", features = [ "util" ] }
tempfile.workspace = true
tower = { workspace = true, features = [ "util" ] }
# See:
# <https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html>