[package]
authors = ["MaidSafe Developers <dev@maidsafe.net>"]
description = "A command-line application for installing, managing and operating antnode as a service."
edition = "2024"
homepage = "https://maidsafe.net"
license = "GPL-3.0"
name = "ant-node-manager"
readme = "README.md"
repository = "https://github.com/maidsafe/autonomi"
version = "0.14.0"

[[bin]]
name = "antctl"
path = "src/bin/cli/main.rs"

[[bin]]
name = "antctld"
path = "src/bin/daemon/main.rs"

[features]
chaos = []
default = ["quic"]
nightly = []
open-metrics = []
otlp = []
quic = []
statemap = []
tcp = []
websockets = []

[dependencies]
ant-bootstrap = { path = "../ant-bootstrap", version = "0.2.13" }
ant-build-info = { path = "../ant-build-info", version = "0.1.29" }
ant-evm = { path = "../ant-evm", version = "0.1.18" }
ant-logging = { path = "../ant-logging", version = "0.3.0" }
ant-protocol = { path = "../ant-protocol", version = "1.0.10" }
ant-releases = "0.4.3"
ant-service-management = { path = "../ant-service-management", version = "0.5.0" }
evmlib = { path = "../evmlib", version = "0.4.6" }
chrono = "~0.4.19"
clap = { version = "4.4.6", features = ["derive", "env"] }
colored = "2.0.4"
color-eyre = "0.6.3"
dirs-next = "2.0.0"
indicatif = { version = "0.17.5", features = ["tokio"] }
libp2p = { version = "0.56.0", features = [] }
libp2p-identity = { version = "0.2.12", features = ["rand"] }
prost = { version = "0.9" }
rand = "0.8.5"
semver = "1.0.20"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
service-manager = "0.9.0"
sysinfo = "0.30.12"
thiserror = "1.0.23"
tokio = { version = "1.43", features = ["full"] }
tracing = { version = "~0.1.26" }
tonic = { version = "0.6.2" }
uuid = { version = "1.5.0", features = ["v4"] }
which = "6.0.1"
anyhow = "1.0.98"

[lints]
workspace = true

[target.'cfg(any(target_os = "linux", target_os = "macos"))'.dependencies]
nix = { version = "0.27.1", features = ["fs", "user"] }
users = "0.11"

[target.'cfg(target_os = "windows")'.dependencies]
which = "6.0.1"

[dev-dependencies]
assert_cmd = "2.1.1"
assert_fs = "1.0.13"
assert_matches = "1.5.0"
async-trait = "0.1"
mockall = "0.12.1"
reqwest = { version = "0.12", default-features = false, features = [
    "json",
    "rustls-tls",
] }
predicates = "3.1.0"
