[package]
name = "horust"
version.workspace = true
authors = ["Federico Ponzi <me@fponzi.me>"]
description = "A complete supervisor and init system, designed for running in containers."
edition = "2024"
license = "MIT"
repository = "https://github.com/FedericoPonzi/horust"
homepage = "https://github.com/FedericoPonzi/horust"
readme = "../README.md"
keywords = ["init", "container", "supervisor"]
categories = ["command-line-utilities"]
include = ["src/**/*", "Cargo.*", "LICENSE.txt", "example_services/**/*"]
rust-version = "1.85.1"

[dependencies]
clap = { version = "~4.5", features = ["derive"] }
crossbeam = "~0.8"
env_logger = "~0.11"
humantime-serde = "~1.1"
libc = "~0.2"
log = "~0.4"
nix = { version = "0.29.0", features = ["process", "user", "signal", "fs"] }  # align with the version in libcgroups
reqwest = { version = "~0.13", features = ["blocking", "json"], optional = true, default-features = false }
serde = { version = "~1.0", features = ["derive"] }
shlex = "~1.3"
toml = "~0.9"
maplit = "~1.0"
shellexpand = "~3.1"
anyhow = "~1.0"
thiserror = "~2.0"
bytefmt = "0.1.7"
horust-commands-lib.workspace = true
oci-spec = "0.8.3"

[target.'cfg(target_os = "linux")'.dependencies]
libcgroups = { version = "0.5.7", features = ["v1", "v2"], default-features = false }

[features]
default = ["http-healthcheck"]
http-healthcheck = ["reqwest"]

[dev-dependencies]
assert_cmd = "~2.1"
predicates = "~3.1"
tempfile = "~3"
rand = "~0.9"
