Files
nx9-wg/Cargo.toml
T

105 lines
2.4 KiB
TOML

[workspace]
members = [
"crates/nx9-wg-core",
"crates/nx9-wg-db",
"crates/nx9-wireguard",
"crates/nx9-wg-network",
"crates/nx9-wg-api",
"crates/nx9-wg-ui",
]
[workspace.package]
license = "MIT OR Apache-2.0"
version = "0.1.0"
edition = "2024"
[workspace.dependencies]
# Internal crates
nx9-wg-core = { path = "crates/nx9-wg-core" }
nx9-wg-db = { path = "crates/nx9-wg-db" }
nx9-wireguard = { path = "crates/nx9-wireguard" }
nx9-wg-network = { path = "crates/nx9-wg-network" }
nx9-wg-api = { path = "crates/nx9-wg-api" }
nx9-wg-ui = { path = "crates/nx9-wg-ui" }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
# Async runtime
tokio = { version = "1", features = ["full"] }
# Date/time
chrono = { version = "0.4", features = ["serde"] }
# Identifiers
uuid = { version = "1", features = ["v4", "serde"] }
# Errors
thiserror = "2"
# Observability
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# Crypto
argon2 = "0.5"
x25519-dalek = { version = "2", features = ["static_secrets"] }
rand = "0.8"
base64 = "0.22"
sha2 = "0.10"
# Network types
ipnet = { version = "2", features = ["serde"] }
# CLI
clap = { version = "4", features = ["derive", "env", "string"] }
# HTTP
axum = { version = "0.8", features = ["ws", "macros"] }
tower = "0.5"
tower-http = { version = "0.7", features = ["trace", "cors", "compression-gzip", "timeout", "fs"] }
# Database
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite", "macros", "migrate", "chrono", "uuid"] }
# QR
qrcode = "0.14"
image = "0.25"
# Dev
tempfile = "3"
# ── Root binary crate ──────────────────────────────────────────────────
[package]
name = "nx9-wg"
version.workspace = true
edition.workspace = true
description = "Native Rust WireGuard management application for the NX9 ecosystem"
[[bin]]
name = "nx9-wg"
path = "src/main.rs"
[dependencies]
nx9-wg-core.workspace = true
nx9-wg-db.workspace = true
nx9-wg-api.workspace = true
nx9-wireguard.workspace = true
nx9-wg-network.workspace = true
tokio.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
clap.workspace = true
axum.workspace = true
chrono.workspace = true
serde.workspace = true
serde_json.workspace = true
uuid.workspace = true
base64.workspace = true
[dev-dependencies]
tempfile.workspace = true