package config import ( "os" "strconv" ) type Config struct { HTTPHost string HTTPPort int DatabaseURL string MigrateOnStart bool } func Load() Config { return Config{ HTTPHost: envString("HTTP_HOST", "0.0.0.0"), HTTPPort: envInt("HTTP_PORT", 8080), DatabaseURL: envString("DATABASE_URL", ""), MigrateOnStart: envBool("MIGRATE_ON_START", true), } } func envString(key, fallback string) string { if v := os.Getenv(key); v != "" { return v } return fallback } func envInt(key string, fallback int) int { raw := os.Getenv(key) if raw == "" { return fallback } v, err := strconv.Atoi(raw) if err != nil { return fallback } return v } func envBool(key string, fallback bool) bool { raw := os.Getenv(key) if raw == "" { return fallback } v, err := strconv.ParseBool(raw) if err != nil { return fallback } return v }