| Crates.io | reinhardt-conf |
| lib.rs | reinhardt-conf |
| version | 0.1.0-alpha.1 |
| created_at | 2026-01-23 04:36:58.260846+00 |
| updated_at | 2026-01-23 04:36:58.260846+00 |
| description | Configuration management framework for Reinhardt - Django-inspired settings with encryption and secrets management |
| homepage | |
| repository | https://github.com/kent8192/reinhardt-rs |
| max_upload_size | |
| id | 2063437 |
| size | 551,003 |
Django-inspired settings management for Rust with secrets, encryption, and audit logging.
The reinhardt-conf crate provides a comprehensive configuration management framework for Reinhardt applications, inspired by Django's settings system with additional security features.
This crate provides the following modules:
`settings`: Core settings management functionality`settings-cli`: CLI tool for managing settingsAdd reinhardt to your Cargo.toml:
[dependencies]
reinhardt = { version = "0.1.0-alpha.1", features = ["conf"] }
# Or use a preset:
# reinhardt = { version = "0.1.0-alpha.1", features = ["standard"] } # Recommended
# reinhardt = { version = "0.1.0-alpha.1", features = ["full"] } # All features
Then import configuration features:
use reinhardt::conf::settings::{SettingsBuilder, Settings};
use reinhardt::conf::settings::sources::ConfigSource;
Note: Configuration features are included in the standard and full feature presets.
Enable specific features based on your needs:
# With async support
reinhardt = { version = "0.1.0-alpha.1", features = ["conf", "conf-settings-async"] }
# With encryption
reinhardt = { version = "0.1.0-alpha.1", features = ["conf", "conf-settings-encryption"] }
# With Vault integration
reinhardt = { version = "0.1.0-alpha.1", features = ["conf", "conf-settings-vault"] }
Available features:
conf-settings (default): Core settings functionalityconf-settings-async: Asynchronous settings operationsconf-settings-dynamic-redis: Redis-backed dynamic settingsconf-settings-dynamic-database: Database-backed dynamic settingsconf-settings-vault: HashiCorp Vault integrationconf-settings-aws-secrets: AWS Secrets Manager integrationconf-settings-azure-keyvault: Azure Key Vault integrationconf-settings-secret-rotation: Automatic secret rotationconf-settings-encryption: Built-in encryption for sensitive settingsuse reinhardt::conf::settings::SettingsBuilder;
use reinhardt::conf::settings::sources::ConfigSource;
// Basic usage
let settings = SettingsBuilder::new()
.add_source(ConfigSource::File("config.toml"))
.add_source(ConfigSource::Environment)
.build()?;
// Access settings
let database_url = settings.get::<String>("DATABASE_URL")?;
The `settings-cli` module provides a command-line tool for managing settings:
# Install the CLI tool
cargo install --path crates/settings-cli
# Use the tool
reinhardt-settings --help
`reinhardt-conf` is organized into the following modules:
`settings` - Core settings management (builder, validation, encryption)`settings-cli` - CLI tool for settings operationsuse reinhardt::conf::settings::{SettingsBuilder, SettingsConfig};
Licensed under either of:
at your option.
Contributions are welcome! Please see the main CONTRIBUTING.md for guidelines.