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

28 lines
910 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 (aligné docker-compose)
// Port 15672 = host mapping, 5672 = port interne container
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)
}