gis/app/config.go

35 lines
675 B
Go

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
}