diff --git a/pkg/bdd/testserver/server.go b/pkg/bdd/testserver/server.go index 4ef4e0d..d3425c9 100644 --- a/pkg/bdd/testserver/server.go +++ b/pkg/bdd/testserver/server.go @@ -17,15 +17,27 @@ import ( ) // getPostgresHost returns the appropriate PostgreSQL host based on environment -// Uses DLC_DATABASE_HOST environment variable or defaults appropriately +// Uses DLC_DATABASE_HOST environment variable or detects execution context func getPostgresHost() string { host := os.Getenv("DLC_DATABASE_HOST") if host != "" { return host } - // Default to localhost for native execution, container name for Docker - // When running natively but PostgreSQL is in Docker, use localhost (port mapping) - // When running in Docker containers, use container name + + // Detect if we're running inside a Docker container + // Check for Docker-specific environment variables or files + if os.Getenv("DOCKER_CONTAINER") != "" || + os.Getenv("KUBERNETES_SERVICE_HOST") != "" || + os.Getenv("container") == "docker" { + return "dance-lessons-coach-postgres" // Use container name in Docker + } + + // Check for .dockerenv file (Docker-specific) + if _, err := os.Stat("/.dockerenv"); err == nil { + return "dance-lessons-coach-postgres" // Use container name in Docker + } + + // Default to localhost for native execution (PostgreSQL port mapping) return "localhost" }