[package]
name = "cfgd"
version = "0.3.4"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
description = "Declarative, GitOps-style machine configuration state management"
keywords = ["config", "management", "gitops", "reconciliation", "declarative"]
categories = ["config", "command-line-utilities"]

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

[dependencies]
cfgd-core = { path = "../cfgd-core", version = "0.3.4" }
clap = { version = "4", features = ["derive", "env"] }
clap_complete = "4"
anyhow = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
console = "0.15"
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.9"
serde_json = "1"
toml = "0.8"
tokio = { version = "1", features = ["full"] }
tera = "1"
similar = "2"
sha2 = "0.10"
secrecy = "0.10"
hostname = "0.4"
git2 = "0.19"
tempfile = "3"
inquire = "0.7"
libc = "0.2"
ureq = { version = "2", features = ["json"] }
kube = { version = "0.98", features = ["client", "derive", "runtime", "rustls-tls"] }
rustls = "0.23"
k8s-openapi = { version = "0.24", features = ["latest"] }
schemars = "0.8"

[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.59", features = [
    "Win32_UI_Shell",
    "Win32_System_Registry",
    "Win32_Storage_FileSystem",
] }
windows-service = "0.7"

[dev-dependencies]
assert_cmd = "2"
predicates = "3"
cfgd-core = { path = "../cfgd-core", version = "0.3.4", features = ["test-helpers"] }
serial_test = "3"
