Expand description
A flexible configuration management library that provides a trait-based approach for handling key-value data with support of multiple serialization formats.
§Features
- Generic configuration management through the
Managertrait - Support for multiple serialization formats (with feature flags):
- JSON (default)
- TOML (feature: “toml”)
- YAML (feature: “yaml”)
- XML (feature: “xml”)
- Type-safe error handling with the
cdumay_core::Errorstruct
§Example Usage
#[derive(Debug, serde::Serialize, serde::Deserialize)]
pub struct DatabaseConfig {
pub user: String,
pub password: String,
pub database: String,
}
fn main() -> cdumay_core::Result<()> {
let context = std::collections::BTreeMap::new();
let config = DatabaseConfig {
user: "john".to_string(),
password: "smith".to_string(),
database: "example".to_string()
};
let _ = cdumay_config::write_config(
"locker-db.json",
Some(cdumay_config::ContentFormat::JSON),
config,
&context
)?;
Ok(())
}Structs§
- Configuration
File Error - Error : ConfigurationFileError (Kind:
InvalidConfiguration) - Json
Manager - JSON configuration file manager implementing the
Managertrait. - Toml
Manager - TOML configuration file manager implementing the
Managertrait. - Vault
Config - Configuration structure for loading secrets from an external file.
- Vault
Secret - Represents a single secret stored in the vault.
- Vault
Secret Error - Error : VaultSecretError (Kind:
InvalidConfiguration) - Vault
Secrets - A collection of multiple secrets loaded from a configuration source.
- XmlManager
- XML configuration file manager implementing the
Managertrait. - Yaml
Manager - YAML configuration file manager implementing the
Managertrait.
Enums§
- Content
Format - Enum representing the supported content formats for configuration files.
Traits§
- Manager
- A trait defining common operations for configuration file managers.
Functions§
- read_
config - Reads a configuration file and deserializes its content into a strongly typed Rust value.
- write_
config - Serializes and writes a Rust value to a configuration file in a specified format.