Expand description
§Configuration Source Module
Provides various configuration source implementations for loading configuration from different sources such as files, environment variables, etc.
§Supported Sources
PropertiesConfigSource: Loads configuration from Java.propertiesformat filesTomlConfigSource: Loads configuration from TOML format filesYamlConfigSource: Loads configuration from YAML format filesEnvFileConfigSource: Loads configuration from.envformat filesEnvConfigSource: Loads configuration from system environment variablesCompositeConfigSource: Merges configuration from multiple sources
§Examples
use qubit_config::Config;
use qubit_config::source::{
CompositeConfigSource, ConfigSource, TomlConfigSource,
};
// Load from TOML file
let mut composite = CompositeConfigSource::new();
let temp_dir = tempfile::tempdir().unwrap();
let path = temp_dir.path().join("config.toml");
std::fs::write(&path, "port = 8080\n").unwrap();
composite.add(TomlConfigSource::from_file(path));
let mut config = Config::new();
config.merge_from_source(&composite).unwrap();
assert_eq!(config.get::<i64>("port").unwrap(), 8080);§Author
Haixing Hu
Structs§
- Composite
Config Source - Configuration source that merges multiple sources in order
- EnvConfig
Source - Configuration source that loads from system environment variables
- EnvFile
Config Source - Configuration source that loads from
.envformat files - Properties
Config Source - Configuration source that loads from Java
.propertiesformat files - Toml
Config Source - Configuration source that loads from TOML format files
- Yaml
Config Source - Configuration source that loads from YAML format files
Traits§
- Config
Source - Trait for configuration sources