Overview

    Vitess v17 introduced viper, a library to provide unified configuration management, to the project.

    It acts as a registry for configuration values coming from a variety of sources, including:

    • Default values.
    • Configuration files (JSON, YAML, TOML, and other formats supported), including optionally watching and live-reloading.
    • Environment variables.
    • Command-line flags, primarily from pflag.Flag types.

    It is used by a wide variety of Go projects, including hugo and kops.