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.


Overview