Vostok.Configuration
HomeQuickstartConcepts and basicsBasic scenarios
  • Home
  • Quickstart
  • Concepts and basics
    • Settings nodes
      • Value nodes
      • Array nodes
      • Object nodes
    • Settings nodes merging
    • Settings nodes scoping
    • Binding nodes to models
    • Configuration sources
    • Configuration provider
    • Caching and performance
    • Error handling
  • Modules
    • Abstractions
    • Configuration
    • Sources
    • Sources.CC
    • Sources.Json
    • Sources.Yaml
    • Sources.Xml
    • Sources.Vault
    • Logging
    • Microsoft
  • Sources
    • Constant sources
    • Object source
    • XML sources
    • YAML sources
    • JSON sources
    • Vault source
    • ClusterConfig source
    • Command line source
    • Environment variables source
  • Binders
    • Primitives
    • Collections
    • Classes and structs
    • Constructor injection
  • Basic scenarios
    • Assign sources to types
    • Obtain settings from provider
    • Observe settings via provider
    • Print settings
    • Log settings updates
    • Log errors
    • Combine sources
    • Scope sources
    • Make settings secret
    • Make settings required
  • Advanced scenarios
    • Use name aliases
    • Use dynamic interfaces
    • Use shared provider instance
    • Use value substitutions
    • Nest sources
    • Freeze sources
    • Transform sources
    • Create custom sources
    • Apply custom validators
    • Apply custom binders
    • Apply source data to existing object
    • Print contents of a source
Powered by GitBook
On this page
  • Vostok.Configuration in a nutshell
  • Guiding design principles
  • Features
  • Guarantees
  • Good starting points

Was this helpful?

Export as PDF

Home

NextQuickstart

Last updated 4 years ago

Was this helpful?

Vostok.Configuration in a nutshell

Vostok.Configuration is a 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 concept and universal 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 design and .

  • Rich object models should be supported for user convenience.

    • process supports a wide range of , , , 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 and .

Features

  • Integration with Microsoft configuration system;

Guarantees

Good starting points

and methods to obtain settings;

Support for and settings;

Support for custom settings ;

Wide selection of ;

Composable ;

Sources can be , and ;

See / settings scenarios, and sections for details.

set
configuration source
settings nodes
source
settings provider methods
Binding
primitives
collections
classes
interfaces
custom configuration sources
binders
On-demand
subscription-based
required
secret
validation
built-in sources
binders
combined
navigated
transformed
obtain
observe
caching
error handling
Quickstart
Concepts and basics
Basic scenarios
Modules