[package] name = "linux-patch-api" version = "0.1.0" edition = "2021" authors = ["Echo "] description = "Secure remote package management API for Linux systems" license = "MIT" repository = "https://gitea.moon-dragon.us/echo/linux_patch_api" rust-version = "1.75" [dependencies] # Web framework (Actix-web for HTTP API) actix-web = "4" actix-rt = "2" # Async runtime tokio = { version = "1", features = ["full"] } # TLS/mTLS (rustls for modern TLS 1.3) rustls = "0.23" rustls-pemfile = "2" x509-parser = "0.16" # WebSocket support tokio-tungstenite = "0.21" futures-util = "0.3" # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" serde_yaml = "0.9" # Configuration config = "0.14" notify = "6" # Logging tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } tracing-appender = "0.2" # UUID for request IDs and job IDs uuid = { version = "1", features = ["v4", "serde"] } # Time/Date chrono = { version = "0.4", features = ["serde"] } # Error handling thiserror = "1" anyhow = "1" # Async channels async-channel = "2" # Process management (for package operations) sysinfo = "0.30" # Network utilities addr = "0.15" # Clap for CLI arguments clap = { version = "4", features = ["derive", "env"] } # Systemd integration systemd = "0.10" pidlock = "0.2" [dev-dependencies] actix-rt = "2" tokio-test = "0.4" wiremock = "0.6" serial_test = "3" [profile.release] lto = true codegen-units = 1 panic = "abort" strip = true opt-level = 3 [profile.dev] opt-level = 0 debug = true [[bin]] name = "linux-patch-api" path = "src/main.rs"