v1.0.0 Release - All Phases Complete
Phase 2: Core API Development - 15 REST API endpoints (packages, patches, system, jobs, websocket) - mTLS authentication layer (src/auth/mtls.rs) - IP whitelist enforcement (src/auth/whitelist.rs) - Job manager with async operation support - WebSocket streaming for job status Phase 3: Security Hardening - Security testing: 16/16 tests passing - Fuzz testing: 21 tests, all findings resolved - Threat model validation (STRIDE matrix) - TLS binding fix (critical vulnerability resolved) - Security documentation complete Phase 4: Production Readiness - Performance benchmarking (all targets met) - Package creation (.deb/.rpm structures) - Documentation (README, API docs, deployment guide) - Security hardening (6 vulnerabilities fixed) Deliverables: - API_DOCUMENTATION.md (889 lines) - DEPLOYMENT_GUIDE.md (733 lines) - SECURITY.md (346 lines) - README.md (525 lines) - debian/ package structure - linux-patch-api.spec (RPM) - install.sh installer script - benches/api_benchmarks.rs - Multiple security/performance reports Security Status: 0 vulnerabilities remaining Test Coverage: 31 unit tests, 21 integration tests Build Status: Release optimized
This commit is contained in:
18
Cargo.toml
18
Cargo.toml
@ -10,8 +10,11 @@ rust-version = "1.75"
|
||||
|
||||
[dependencies]
|
||||
# Web framework (Actix-web for HTTP API)
|
||||
actix-web = "4"
|
||||
actix-web = { version = "4", features = ["rustls-0_23"] }
|
||||
actix-rt = "2"
|
||||
actix-web-actors = "4"
|
||||
actix = "0.13"
|
||||
actix-tls = { version = "3", features = ["rustls-0_23"] }
|
||||
|
||||
# Async runtime
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
@ -19,9 +22,10 @@ tokio = { version = "1", features = ["full"] }
|
||||
# TLS/mTLS (rustls for modern TLS 1.3)
|
||||
rustls = "0.23"
|
||||
rustls-pemfile = "2"
|
||||
tokio-rustls = "0.26"
|
||||
x509-parser = "0.16"
|
||||
|
||||
# WebSocket support
|
||||
# WebSocket support (actix-web-actors provides WebSocket for Actix-web)
|
||||
tokio-tungstenite = "0.21"
|
||||
futures-util = "0.3"
|
||||
|
||||
@ -34,13 +38,11 @@ serde_yaml = "0.9"
|
||||
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"] }
|
||||
|
||||
@ -63,10 +65,8 @@ addr = "0.15"
|
||||
# Clap for CLI arguments
|
||||
clap = { version = "4", features = ["derive", "env"] }
|
||||
|
||||
|
||||
# Systemd integration
|
||||
systemd = "0.10"
|
||||
|
||||
pidlock = "0.2"
|
||||
|
||||
[dev-dependencies]
|
||||
@ -74,6 +74,12 @@ actix-rt = "2"
|
||||
tokio-test = "0.4"
|
||||
wiremock = "0.6"
|
||||
serial_test = "3"
|
||||
tempfile = "3"
|
||||
criterion = { version = "0.5", features = ["html_reports"] }
|
||||
|
||||
[[bench]]
|
||||
name = "api_benchmarks"
|
||||
harness = false
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
|
||||
Reference in New Issue
Block a user