Private
Public Access
1
0

Phase 0: Rust project scaffolding (M0 complete)

Completed Rust project initialization:
- Cargo.toml with all dependencies (actix-web, tokio, rustls, etc.)
- Project structure (src/, tests/, configs/)
- Module declarations (api, auth, config, jobs, logging, packages, systemd)
- Clippy and rustfmt configured
- Initial lib.rs and main.rs with logging setup
- Config examples (config.yaml.example, whitelist.yaml.example)

Dependencies resolved and project compiles successfully.
Rust toolchain 1.94.1 installed.
This commit is contained in:
2026-04-09 18:15:35 +00:00
parent eba8849986
commit afcd172ee5
28 changed files with 4242 additions and 1 deletions

26
src/lib.rs Normal file
View File

@ -0,0 +1,26 @@
//! Linux Patch API - Secure Remote Package Management
//!
//! A Rust-based API service for secure remote management of patching processes
//! and software add/remove operations on Linux systems.
//!
//! # Architecture
//!
//! - **API Layer**: HTTP/HTTPS endpoints with mTLS authentication
//! - **Auth Layer**: Certificate validation and IP whitelist enforcement
//! - **Job Manager**: Async job queue with WebSocket status streaming
//! - **Package Backend**: Pluggable package manager adapters
//! - **Audit Logger**: systemd journal + file fallback
//! - **Config Manager**: YAML config with auto-reload
pub mod api;
pub mod auth;
pub mod config;
pub mod jobs;
pub mod logging;
pub mod packages;
pub mod systemd;
// Re-export commonly used types
pub use config::AppConfig;
pub use jobs::JobManager;
pub use logging::init_logging;