lazyBoy/Cargo.toml

68 lines
2.4 KiB
TOML

[workspace]
resolver = "2"
members = [
"crates/contracts",
"crates/control",
"crates/harness",
"crates/controld",
"crates/supervisor",
"crates/sandbox",
"crates/api",
]
[workspace.package]
edition = "2024"
rust-version = "1.98"
version = "0.1.0"
license = "Apache-2.0"
publish = false
# --- Lint policy -----------------------------------------------------------
# A single place decides how the whole workspace is linted; every crate opts in
# with `[lints] workspace = true`. `make lint` runs clippy with -D warnings, so a
# new warning has to be fixed (or relaxed at the call site with a reason) before
# it reaches main. Thresholds live in clippy.toml, which cargo-clippy only reads
# from the directory it was started in - keep running it at the workspace root.
[workspace.lints.rust]
# Safety-relevant code (the vault, the docker socket) has to stay explicit.
unsafe_code = "warn"
unused_must_use = "deny"
unused_crate_dependencies = "warn"
[workspace.lints.clippy]
# Debug leftovers and placeholder implementations must not reach a branch.
dbg_macro = "warn"
todo = "warn"
[profile.release]
lto = true
codegen-units = 1
strip = "symbols"
[workspace.dependencies]
lazyboy-contracts = { path = "crates/contracts" }
lazyboy-control = { path = "crates/control" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
sha2 = "0.10"
hex = "0.4"
base64 = "0.22"
chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] }
image = { version = "0.25", default-features = false, features = ["jpeg", "png"] }
rig-core = "0.42"
async-trait = "0.1"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "process", "io-util", "fs", "signal", "time", "sync"] }
axum = { version = "0.8", features = ["ws"] }
tower-http = { version = "0.6", features = ["cors", "trace", "fs"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
uuid = { version = "1", features = ["v4", "serde"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "stream"] }
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] }
tokio-tungstenite = { version = "0.26", features = ["connect", "rustls-tls-native-roots"] }
futures-util = "0.3"
bollard = "0.18"
hmac = "0.12"
sqlx = { version = "0.8", features = ["runtime-tokio", "tls-rustls", "postgres", "chrono", "uuid", "json"] }