package initialize import ( "github.com/caarlos0/env/v8" ) type Config struct { AppName string `env:"APP_NAME" envDefault:"codeword"` HTTPHost string `env:"HTTP_HOST" envDefault:"localhost"` HTTPPort string `env:"HTTP_PORT" envDefault:"3000"` MongoHost string `env:"MONGO_HOST" envDefault:"localhost"` MongoPort string `env:"MONGO_PORT" envDefault:"27017"` MongoUser string `env:"MONGO_USER" envDefault:"admin"` MongoPassword string `env:"MONGO_PASSWORD" envDefault:"admin"` MongoDatabase string `env:"MONGO_DB" envDefault:"codeword_db"` MongoAuth string `env:"MONGO_AUTH" envDefault:"admin"` PublicCurveKey string `env:"PUBLIC_CURVE_KEY,required"` PrivateCurveKey string `env:"PRIVATE_CURVE_KEY,required"` SignSecret string `env:"SIGN_SECRET,required"` } func LoadConfig() (*Config, error) { var config Config if err := env.Parse(&config); err != nil { return nil, err } return &config, nil }