Home
Vostok.Configuration in a nutshell
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.
Guiding design principles
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 configuration source concept and universal settings nodes abstraction.
"Hot" configuration updates should be easy to leverage.
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.
Features
On-demand and subscription-based methods to obtain settings;
Support for custom settings validation;
Wide selection of built-in sources;
Composable binders;
Sources can be combined, navigated and transformed;
Integration with Microsoft configuration system;
Guarantees
See obtain / observe settings scenarios, caching and error handling sections for details.
Good starting points
Last updated
Was this helpful?