Expand description
Config organizes hierarchical or layered configurations for Rust applications.
Config lets you set a set of default parameters and then extend them via merging in configuration from a variety of sources:
- Environment variables
- String literals in well-known formats
- Another Config instance
- Files: TOML, JSON, YAML, INI, RON, JSON5 and custom ones defined with Format trait
- Manual, programmatic override (via a
.set
method on the Config instance)
Additionally, Config supports:
- Live watching and re-reading of configuration files
- Deep access into the merged configuration via a path syntax
- Deserialization via
serde
of the configuration or any subset defined via a path
See the examples for general usage information.
Re-exports
pub use crate::builder::AsyncConfigBuilder;
pub use crate::builder::ConfigBuilder;
Modules
Structs
A prioritized configuration repository. It maintains a set of configuration sources, fetches values to populate those, and provides them according to the source’s priority.
A configuration source backed up by a file.
Describes a file sourced from a file
Describes a file sourced from a string
A configuration value.
Enums
Represents all possible errors that can occur when working with configuration.
File formats provided by the library.
Underlying kind of the configuration value.
Traits
Describes a generic source of configuration properties capable of using an async runtime.
An extension of Format
trait.
Describes a format of configuration source data
Describes a generic source of configuration properties.