1. 1. Introduction
    1. 1.1. What is Viper
    2. 1.2. Reading Simple Configuration
    3. 1.3. Reading Complex Configuration
  2. 2. Hands on with Viper
    1. 2.1. Configuring Viper
    2. 2.2. Reading Config Values
    3. 2.3. What's actually happening under the hood
    4. 2.4. The init function
    5. 2.5. Maps and Slices
    6. 2.6. Adding Environment Variables
    7. 2.7. Setting Nested Keys via Environment
    8. 2.8. Binding to structs
    9. 2.9. Reading configuration across packages
    10. 2.10. Setting Defaults
    11. 2.11. Setting Values
    12. 2.12. Reading other config files
    13. 2.13. Reading other config formats
    14. 2.14. Integrating With Cobra
  3. 3. Final Thoughts
  4. 4. Appendix

A Primer on Viper

Appendix