Vostok.Configuration is a set of libraries offering configuration tools to .NET applications. It handles fetching configuration data from files or APIs, parsing and converting it to user-defined model classes.
Configuration data sources should be composable regardless of storage formats.
It should be easy to combine settings from JSON files, environment variables and custom APIs. This is achieved with concept and universal abstraction.
"Hot" configuration updates should be easy to leverage.
and methods to obtain settings;
Support for and settings;
Support for custom settings ;
See / settings scenarios, and sections for details.
Hot configuration implies handling changes in settings without application restart. This is enabled by explicitly reactive source design and settings provider methods.
Rich object models should be supported for user convenience.
Binding process supports a wide range of primitives, collections, classes, interfaces and employs a number of conventions for arbitrary types (anything with a TryParse method works).
It should be possible to extend the library with arbitrary data sources and object models.
Two major extensions points are custom configuration sources and binders.
Wide selection of built-in sources;
Composable binders;
Sources can be combined, navigated and transformed;
Integration with Microsoft configuration system;