/ Cargo.toml
Cargo.toml
1 [workspace] 2 resolver = "2" 3 members = [ 4 "crates/acdc", 5 "crates/acdc-core", 6 "crates/acdc-check", 7 "crates/acdc-wizard", 8 "crates/acdc-install", 9 "crates/acdc-config", 10 "crates/acdc-cfg", 11 "crates/acdc-service", 12 "crates/acdc-upgrade", 13 "crates/acdc-tui", 14 "crates/acdc-radicle", 15 "crates/acdc-network", 16 "crates/acdc-diagnostics", 17 "crates/acdc-security", 18 ] 19 20 [workspace.package] 21 version = "0.2.0" 22 edition = "2021" 23 license = "GPL-3.0" 24 authors = ["Alpha Delta Network <team@ac-dc.network>"] 25 repository = "https://code.ac-dc.network/Alpha-Delta-Network/ac-dc" 26 homepage = "https://ac-dc.network" 27 rust-version = "1.82" 28 29 [workspace.dependencies] 30 # Internal crates 31 acdc-core = { path = "crates/acdc-core" } 32 acdc-check = { path = "crates/acdc-check" } 33 acdc-wizard = { path = "crates/acdc-wizard" } 34 acdc-install = { path = "crates/acdc-install" } 35 acdc-config = { path = "crates/acdc-config" } 36 acdc-cfg = { path = "crates/acdc-cfg" } 37 acdc-service = { path = "crates/acdc-service" } 38 acdc-upgrade = { path = "crates/acdc-upgrade" } 39 acdc-tui = { path = "crates/acdc-tui" } 40 acdc-radicle = { path = "crates/acdc-radicle" } 41 acdc-network = { path = "crates/acdc-network" } 42 acdc-diagnostics = { path = "crates/acdc-diagnostics" } 43 acdc-security = { path = "crates/acdc-security" } 44 45 # CLI 46 clap = { version = "4.5", features = ["derive", "env", "wrap_help"] } 47 48 # TUI 49 ratatui = "0.29" 50 crossterm = "0.28" 51 dialoguer = { version = "0.11", features = ["fuzzy-select"] } 52 indicatif = "0.17" 53 console = "0.15" 54 55 # Async 56 tokio = { version = "1.43", features = ["full"] } 57 futures = "0.3" 58 async-trait = "0.1" 59 60 # SSH 61 russh = "0.44" 62 russh-keys = "0.44" 63 64 # Serialization 65 serde = { version = "1", features = ["derive"] } 66 serde_json = "1" 67 toml = "0.8" 68 69 # System info 70 sysinfo = "0.33" 71 nix = { version = "0.29", features = ["fs", "net", "process", "user", "signal"] } 72 73 # Network 74 reqwest = { version = "0.12", features = ["stream", "json"] } 75 hickory-resolver = "0.24" 76 local-ip-address = "0.6" 77 78 # HTTP server 79 axum = "0.8" 80 tower-http = { version = "0.6", features = ["cors"] } 81 hostname = "0.4" 82 83 # Crypto/hashing 84 sha2 = "0.10" 85 hex = "0.4" 86 87 # Logging 88 tracing = "0.1" 89 tracing-subscriber = { version = "0.3", features = ["env-filter"] } 90 91 # Error handling 92 thiserror = "2" 93 anyhow = "1" 94 95 # Filesystem 96 dirs = "6" 97 walkdir = "2" 98 tempfile = "3" 99 100 # Time 101 chrono = { version = "0.4", features = ["serde"] } 102 103 # Lazy statics 104 once_cell = "1.20" 105 106 # Compression 107 flate2 = "1" 108 tar = "0.4" 109 zip = "2" 110 111 # Text processing 112 regex = "1" 113 114 # Encryption 115 age = "0.10" 116 117 # Signature verification (minisign-compatible) 118 ed25519-dalek = { version = "2", features = ["rand_core"] } 119 signature = "2" 120 base64 = "0.22" 121 122 # TLS certificates 123 rcgen = "0.13" 124 x509-parser = "0.16" 125 126 # WebSocket client 127 tokio-tungstenite = "0.24" 128 129 [profile.release] 130 lto = true 131 codegen-units = 1 132 strip = true 133 134 # Coverage profile - faster builds without LTO for tarpaulin 135 [profile.coverage] 136 inherits = "release" 137 lto = "off" 138 codegen-units = 16 139 opt-level = 2 140 strip = false