2 unstable releases
Uses new Rust 2024
| 0.2.0 | Apr 27, 2026 |
|---|---|
| 0.1.0 | Apr 9, 2026 |
#810 in Configuration
Used in cruxi-sops
155KB
3K
SLoC
Configuration management with layered providers.
This crate provides a flexible configuration system supporting multiple sources with layered precedence.
cruxi-config
Layered configuration providers with typed access helpers.
Purpose
cruxi-config standardizes config lookup via ConfigProvider, with built-in providers:
EnvProvider: environment variables (optional prefix)MapProvider: in-memory valuesLayeredProvider: precedence-ordered composition
Usage
Build a layered stack where earlier providers override later ones.
Example
use cruxi_config::{ConfigProvider, EnvProvider, LayeredProvider, MapProvider};
let mut defaults = MapProvider::new();
defaults.set("PORT", "8080");
let cfg = LayeredProvider::new()
.add(EnvProvider::with_prefix("APP"))
.add(defaults);
let port = cfg.get_or("PORT", "3000");
assert!(!port.is_empty());
Dependencies
~110–470KB
~11K SLoC