/ 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