Go Config Viper Env File Watch Flag Override
Definisi
spf13/viper adalah library konfigurasi lengkap untuk Go: membaca dari ENV, file (yaml/toml/json), flag, dan mendukung watcher (reload otomatis saat file berubah). Cocok untuk aplikasi yang butuh konfig fleksibel tanpa restart.
Kapan dipakai
Pakai saat aplikasi butuh config dari banyak sumber (env di prod, file di dev) dengan prioritas jelas. Hindari untuk CLI kecil yang cukup flag biasa.
Cara kerja
Setup
import "github.com/spf13/viper"
viper.SetConfigName("config")
viper.AddConfigPath(".")
viper.AutomaticEnv()
viper.ReadInConfig()