weiro/config/config.go

27 lines
522 B
Go
Raw Normal View History

2026-02-25 11:04:47 +00:00
package config
import (
"fmt"
"github.com/Netflix/go-env"
)
type Config struct {
DataDir string `env:"DATA_DIR"`
SiteDomain string `env:"SITE_DOMAIN"`
LoginLocked bool `env:"LOGIN_LOCKED,default=false"`
Env string `env:"ENV,default=prod"`
}
func LoadConfig() (Config, error) {
cfg := Config{}
if _, err := env.UnmarshalFromEnviron(&cfg); err != nil {
return Config{}, fmt.Errorf("failed to load config: %w", err)
}
return cfg, nil
}
func (c Config) IsProd() bool {
return c.Env != "dev"
}