config.go (469B)
1 package config 2 3 import ( 4 "context" 5 6 "github.com/sethvargo/go-envconfig" 7 ) 8 9 type CoreConfig struct { 10 Dev bool `env:"DEV, default=false"` 11 ListenAddr string `env:"PORT, default=0.0.0.0:8080"` 12 DbPath string `env:"DB_PATH, default=appview.db"` 13 } 14 15 type Config struct { 16 Core CoreConfig 17 } 18 19 func LoadConfig(ctx context.Context) (*Config, error) { 20 var cfg Config 21 err := envconfig.Process(ctx, &cfg) 22 if err != nil { 23 return nil, err 24 } 25 26 return &cfg, nil 27 }