diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..62f9d5f --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,55 @@ +[workspace] +resolver = "2" +members = [ + "components/zinit", + "components/mycelium", + "components/rfs", +] + +[workspace.dependencies] +# Common dependencies used across Zero-OS components +tokio = { version = "1.0", features = ["full"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +clap = { version = "4.0", features = ["derive"] } +anyhow = "1.0" +thiserror = "1.0" +log = "0.4" +env_logger = "0.10" +futures = "0.3" +async-trait = "0.1" + +# Networking +reqwest = { version = "0.11", features = ["json"] } +hyper = { version = "0.14", features = ["full"] } +tonic = { version = "0.10", features = ["default"] } + +# Crypto and encoding +base64 = "0.21" +hex = "0.4" +sha2 = "0.10" +rand = "0.8" + +# System and filesystem +nix = "0.27" +libc = "0.2" +tempfile = "3.0" + +# Async runtime and utilities +parking_lot = "0.12" +dashmap = "5.0" +uuid = { version = "1.0", features = ["v4"] } + +[profile.release] +# Optimize for size and performance +opt-level = "z" # Optimize for size +lto = true # Link-time optimization +codegen-units = 1 # Better optimization +panic = "abort" # Smaller binaries +strip = true # Remove symbols + +[profile.dev] +# Faster debug builds +opt-level = 1 # Some optimization for faster debug builds +debug = true # Debug info +split-debuginfo = "unpacked" # Faster linking on macOS/Windows \ No newline at end of file