[package]
name = "bestool-alertd"
version = "17.1.0"
edition = "2024"
authors = ["Félix Saparelli <felix@passcod.name>", "BES Developers <contact@bes.au>"]
license = "GPL-3.0-or-later"
description = "(Internal) BES tooling: healthcheck daemon"
repository = "https://github.com/beyondessential/bestool/tree/main/crates/alertd"
exclude.workspace = true

[lints]
workspace = true

[dependencies]
axum = "0.8.9"
bestool-canopy = { version = "0.6.4", path = "../canopy" }
bestool-kopia = { version = "0.3.4", path = "../kopia" }
bestool-postgres = { version = "1.1.0", path = "../postgres" }
bestool-tamanu = { version = "0.15.2", path = "../tamanu", features = ["canopy-registration"] }
bytes = "1.9.0"
dirs = "6.0.0"
duct = "1.1.0"
futures = { workspace = true }
hickory-resolver = "0.26.1"
jiff = { version = "0.2.28", features = ["serde"] }
node-semver = "2.2.0"
miette = { workspace = true }
prometheus = "0.14.0"
reqwest = { workspace = true }
rustls = "0.23.40"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
sysinfo.workspace = true
tokio = { workspace = true, features = ["full"] }
tokio-postgres = { version = "0.7.17", features = ["with-jiff-0_2", "with-serde_json-1"] }
tokio-rustls = "0.26.4"
tokio-stream = { version = "0.1.17", features = ["sync"] }
tower-http = { version = "0.7.0", features = ["trace"] }
tracing = { workspace = true }
url = { version = "2.5.8", features = ["serde"] }
x509-parser = "0.18.1"

[target.'cfg(unix)'.dependencies]
# geteuid(), to tell whether we're root without reading /proc (which the
# daemon's own sandbox can refuse).
rustix = { version = "1", features = ["process"] }
# systemd readiness/reload/status notifications (no-op when not under systemd).
sd-notify = "0.5.0"

[target.'cfg(windows)'.dependencies]
windows-service = "0.8.0"
