package initialize import ( "github.com/caarlos0/env/v8" "github.com/joho/godotenv" "log" ) type Config struct { AppName string `env:"APP_NAME" envDefault:"hub-admin-backend-service"` InternalHttpAddress string `env:"INTERNAL_HTTP_ADDRESS" envDefault:"localhost:8000"` ExternalHttpAddress string `env:"EXTERNAL_HTTP_ADDRESS" envDefault:"localhost:8001"` MongoHost string `env:"MONGO_HOST" envDefault:"127.0.0.1"` MongoPort string `env:"MONGO_PORT" envDefault:"27020"` MongoUser string `env:"MONGO_USER" envDefault:"test"` MongoPassword string `env:"MONGO_PASSWORD" envDefault:"test"` MongoDatabase string `env:"MONGO_DB" envDefault:"admin"` MongoAuth string `env:"MONGO_AUTH" envDefault:"admin"` } func LoadConfig() (*Config, error) { if err := godotenv.Load(); err != nil { log.Print("No .env file found") } var config Config if err := env.Parse(&config); err != nil { return nil, err } return &config, nil }