Overview of config-rs
mainconfig-rs is a layered configuration system for Rust applications designed with support for 12-factor application principles. It allows you to build configuration by layering different sources, such as setting defaults, programmatically overriding values, reading from various file formats, and pulling from environment variables.
Key capabilities:
- Layered Configuration: Combine defaults, explicit values, files, and environment variables.
- Loosely Typed: Values can be read into any supported type that has a reasonable conversion.
- Nested Access: Access nested fields using a subset of JSONPath, supporting child (
redis.port) and subscript (databases[0].name) operators. - Read-Only: Note that this library is designed for reading configuration; it cannot be used to write changed values back to configuration files.