package config import ( "os" "strconv" ) type Config struct { Port string JWTSecret string JWTIssuer string JWTAudience string ClassesServiceURL string OTLPEndpoint string LogLevel string } func Load() *Config { return &Config{ Port: getEnv("API_GATEWAY_PORT", "8080"), JWTSecret: getEnv("JWT_SECRET", "p1-dev-secret-change-in-production"), JWTIssuer: getEnv("JWT_ISSUER", "next-edu-cloud"), JWTAudience: getEnv("JWT_AUDIENCE", "next-edu-cloud"), ClassesServiceURL: getEnv("CLASSES_SERVICE_URL", "http://localhost:3001"), OTLPEndpoint: getEnv("OTEL_EXPORTER_OTLP_ENDPOINT", "http://localhost:4318"), LogLevel: getEnv("LOG_LEVEL", "info"), } } func getEnv(key, fallback string) string { if v := os.Getenv(key); v != "" { return v } return fallback } func getEnvInt(key string, fallback int) int { if v := os.Getenv(key); v != "" { if i, err := strconv.Atoi(v); err == nil { return i } } return fallback }