Files
dbis_core/gateway/go/config/config.go
2026-03-02 12:14:07 -08:00

40 lines
935 B
Go

package config
import (
"os"
)
type Config struct {
Port string
BackendURL string
PolicyEngineURL string
RedisURL string
CacheTTL int
JWTSecret string
LogLevel string
}
func Load() *Config {
return &Config{
Port: getEnv("GATEWAY_PORT", "8080"),
BackendURL: getEnv("BACKEND_URL", "http://localhost:3000"),
PolicyEngineURL: getEnv("POLICY_ENGINE_URL", "http://localhost:3000"),
RedisURL: getEnv("REDIS_URL", "redis://localhost:6379"),
CacheTTL: getEnvInt("CACHE_TTL", 120),
JWTSecret: getEnv("JWT_SECRET", ""),
LogLevel: getEnv("LOG_LEVEL", "info"),
}
}
func getEnv(key, defaultValue string) string {
if value := os.Getenv(key); value != "" {
return value
}
return defaultValue
}
func getEnvInt(key string, defaultValue int) int {
// Simplified - in production, use strconv.Atoi
return defaultValue
}