package app import ( "log" "github.com/caarlos0/env/v11" "github.com/joho/godotenv" ) type Config struct { Port int `env:"PORT" envDefault:"8080"` DBURL string `env:"DB_URL"` S3Endpoint string `env:"S3_ENDPOINT"` S3AccessKey string `env:"S3_ACCESS_KEY"` S3SecretKey string `env:"S3_SECRET_KEY"` S3Bucket string `env:"S3_BUCKET" envDefault:"geofiles"` S3UseSSL bool `env:"S3_USE_SSL" envDefault:"false"` } func loadConfig() (*Config, error) { if err := godotenv.Load(); err != nil { log.Println("No .env file found, relying on system env") } cfg := &Config{} if err := env.Parse(cfg); err != nil { return nil, err } return cfg, nil }