[package]
name = "sysknife-daemon"
version = "0.29.0"
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Policy-enforced, audit-logged Linux action daemon for SysKnife"
readme = "README.md"
keywords = ["linux", "sysadmin", "daemon", "security"]
categories = ["command-line-utilities", "os::linux-apis"]
[features]
test-support = []
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(fuzzing)"] }
[dependencies]
sysknife-core = { path = "../sysknife-core", version = "0.29.0" }
sysknife-types = { path = "../sysknife-types", version = "0.29.0" }
rusqlite = { version = "0.40", features = ["bundled"] }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
thiserror = { workspace = true }
async-trait = "0.1"
tokio = { version = "1", features = ["fs", "io-util", "macros", "net", "process", "rt-multi-thread", "signal"] }
uuid = { version = "1", features = ["serde", "v4"] }
sha2 = "0.11"
hmac = "0.13"
hkdf = "0.13"
ed25519-dalek = { version = "3", features = ["zeroize"] }
hex = "0.4"
subtle = "2"
zeroize = { version = "1", features = ["derive"] }
tokio-vsock = "0.7.2"
libc = "0.2"
sqlx-core = { version = "0.9", default-features = false, features = [
"_rt-tokio",
"_tls-rustls-ring-webpki",
"json",
"uuid",
"chrono",
] }
sqlx-postgres = { version = "0.9", default-features = false, features = [
"json",
"uuid",
"chrono",
] }
chrono = { version = "0.4", features = ["serde"] }
[dev-dependencies]
sysknife-brain = { path = "../sysknife-brain", version = "0.29.0" }
tokio = { version = "1", features = ["test-util"] }
serde_json = { workspace = true }
syslog_loose = "0.23"
tempfile = "3"