reinhardt_conf/lib.rs
1//! # Reinhardt Configuration Framework
2//!
3//! Django-inspired settings management for Rust with secrets, encryption, and audit logging.
4//!
5//! This crate provides a comprehensive configuration management framework for Reinhardt applications,
6//! inspired by Django's settings system with additional security features.
7//!
8//! ## Features
9//!
10//! - **Multiple configuration sources**: Files, environment variables, command-line arguments
11//! - **Type-safe settings**: Strong type validation with custom validators
12//! - **Secrets management**: Integration with HashiCorp Vault, AWS Secrets Manager, Azure Key Vault
13//! - **Encryption**: Built-in encryption for sensitive settings
14//! - **Dynamic backends**: Redis and database-backed dynamic settings
15//! - **Secret rotation**: Automatic secret rotation support
16//! - **Audit logging**: Track all setting changes
17//!
18//! ## Quick Start
19//!
20//! ```rust
21//! # // This documentation test is skipped because it does not use the actual filesystem
22//! # fn main() {}
23//! ```
24//!
25//! ## Module Organization
26//!
27//! - [`settings`]: Core settings management functionality
28
29#![cfg_attr(not(feature = "settings"), allow(unused_imports))]
30
31pub mod settings;
32
33// Re-export commonly used types at the crate root for convenience
34#[cfg(feature = "settings")]
35pub use settings::{DatabaseConfig, MiddlewareConfig, Settings, TemplateConfig};