veza/veza-backend-api/internal/config/rabbitmq.go

28 lines
901 B
Go
Raw Normal View History

package config
import (
"fmt"
"os"
)
// getRabbitMQURL récupère l'URL RabbitMQ avec validation selon l'environnement
// BE-SEC-014: En production, RABBITMQ_URL doit être explicitement défini (pas de valeur par défaut avec credentials)
func getRabbitMQURL(env string, appDomain string) string {
rabbitMQURL := os.Getenv("RABBITMQ_URL")
if rabbitMQURL != "" {
return rabbitMQURL
}
// En production, ne pas utiliser de valeur par défaut avec credentials
if env == EnvProduction {
return "" // Will be validated in ValidateForEnvironment
}
// En développement: par défaut veza:password sur port 15672
// Port 15672 = host mapping du port AMQP 5672 (docker-compose.yml/dev.yml)
port := getEnv("RABBITMQ_PORT", "15672")
user := getEnv("RABBITMQ_USER", "veza")
pass := getEnv("RABBITMQ_PASS", "password")
return fmt.Sprintf("amqp://%s:%s@%s:%s/", user, pass, appDomain, port)
}