/ 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-update",
 13      "crates/acdc-tui",
 14      "crates/acdc-radicle",
 15      "crates/acdc-monitor",
 16      "crates/acdc-backup",
 17      "crates/acdc-fleet",
 18      "crates/acdc-network",
 19      "crates/acdc-diagnostics",
 20      "crates/acdc-security",
 21      "crates/acdc-ha",
 22  ]
 23  
 24  [workspace.package]
 25  version = "0.1.0"
 26  edition = "2021"
 27  license = "GPL-3.0"
 28  authors = ["Alpha Delta Network <team@ac-dc.network>"]
 29  repository = "https://code.ac-dc.network/Alpha-Delta-Network/ac-dc"
 30  homepage = "https://ac-dc.network"
 31  rust-version = "1.82"
 32  
 33  [workspace.dependencies]
 34  # Internal crates
 35  acdc-core = { path = "crates/acdc-core" }
 36  acdc-check = { path = "crates/acdc-check" }
 37  acdc-wizard = { path = "crates/acdc-wizard" }
 38  acdc-install = { path = "crates/acdc-install" }
 39  acdc-config = { path = "crates/acdc-config" }
 40  acdc-cfg = { path = "crates/acdc-cfg" }
 41  acdc-service = { path = "crates/acdc-service" }
 42  acdc-update = { path = "crates/acdc-update" }
 43  acdc-tui = { path = "crates/acdc-tui" }
 44  acdc-radicle = { path = "crates/acdc-radicle" }
 45  acdc-monitor = { path = "crates/acdc-monitor" }
 46  acdc-backup = { path = "crates/acdc-backup" }
 47  acdc-fleet = { path = "crates/acdc-fleet" }
 48  acdc-network = { path = "crates/acdc-network" }
 49  acdc-diagnostics = { path = "crates/acdc-diagnostics" }
 50  acdc-security = { path = "crates/acdc-security" }
 51  acdc-ha = { path = "crates/acdc-ha" }
 52  
 53  # CLI
 54  clap = { version = "4.5", features = ["derive", "env", "wrap_help"] }
 55  
 56  # TUI
 57  ratatui = "0.29"
 58  crossterm = "0.28"
 59  dialoguer = { version = "0.11", features = ["fuzzy-select"] }
 60  indicatif = "0.17"
 61  console = "0.15"
 62  
 63  # Async
 64  tokio = { version = "1.43", features = ["full"] }
 65  futures = "0.3"
 66  async-trait = "0.1"
 67  
 68  # SSH
 69  russh = "0.44"
 70  russh-keys = "0.44"
 71  
 72  # Serialization
 73  serde = { version = "1", features = ["derive"] }
 74  serde_json = "1"
 75  toml = "0.8"
 76  
 77  # System info
 78  sysinfo = "0.33"
 79  nix = { version = "0.29", features = ["fs", "net", "process", "user"] }
 80  
 81  # Network
 82  reqwest = { version = "0.12", features = ["stream", "json"] }
 83  hickory-resolver = "0.24"
 84  local-ip-address = "0.6"
 85  
 86  # HTTP server
 87  axum = "0.8"
 88  tower-http = { version = "0.6", features = ["cors"] }
 89  hostname = "0.4"
 90  
 91  # Crypto/hashing
 92  sha2 = "0.10"
 93  hex = "0.4"
 94  
 95  # Self-update
 96  self_update = "0.42"
 97  
 98  # Logging
 99  tracing = "0.1"
100  tracing-subscriber = { version = "0.3", features = ["env-filter"] }
101  
102  # Error handling
103  thiserror = "2"
104  anyhow = "1"
105  
106  # Filesystem
107  dirs = "6"
108  walkdir = "2"
109  tempfile = "3"
110  
111  # Time
112  chrono = { version = "0.4", features = ["serde"] }
113  
114  # Compression
115  flate2 = "1"
116  tar = "0.4"
117  zip = "2"
118  
119  # Text processing
120  regex = "1"
121  
122  # Encryption
123  age = "0.10"
124  
125  # TLS certificates
126  rcgen = "0.13"
127  x509-parser = "0.16"
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