- Auto-enrollment on startup when certs are missing/invalid and enrollment.manager_url configured - Certificate validation (existence, parse, expiry, key match, CA trust) - --enroll exits after completion (no port conflict with systemd service) - --renew-certs flag for manual cert renewal - SO_REUSEADDR on TcpListener::bind (prevents Address already in use) - Polling token persistence for enrollment resume after restart - Exit code strategy (0=clean, 1=error, 2=enrollment in progress) - HTTP 409 (host already exists) handling during enrollment - Move 'Listening on' log after actual bind - Increase RestartSec to 10s and add StartLimitBurst=5 - Postinst checks for certs and enrollment URL, prints guidance - EnrollmentConfig.manager_url changed to Option<String> - cert_renewal_threshold_days and polling_token config fields - Updated SPEC.md and DEPLOYMENT_GUIDE.md with new workflow - RCA document for crash loop root cause analysis - Version bumped to 1.2.0
12 lines
400 B
Rust
12 lines
400 B
Rust
//! Config Module - YAML config with auto-reload
|
|
//!
|
|
//! Handles configuration management as defined in SPEC.md:
|
|
//! - YAML config file loading and parsing
|
|
//! - Config validation before reload (prevent service offline)
|
|
//! - Auto-reload on file change via notify watcher
|
|
|
|
pub mod loader;
|
|
pub use loader::{AppConfig, CertStatus, EnrollmentConfig, validate_certs};
|
|
pub mod validator;
|
|
pub mod watcher;
|