testcontainers-python icon indicating copy to clipboard operation
testcontainers-python copied to clipboard

New Container: Vespa AI (Vector Database & Search Engine)

Open olipze opened this issue 2 months ago • 0 comments

What is the new container you'd like to have?

I'd like to request adding Vespa AI (the big data serving engine and vector database) container support.

  • Docker container: vespaengine/vespa:latest
  • Vespa website: https://vespa.ai/
  • Documentation: https://docs.vespa.ai/en/vespa-quick-start.html

Benefits: Vespa is a complete platform for building AI-powered applications with vector search, full-text search, and real-time data processing. It's particularly valuable for:

  • Vector similarity search and semantic matching
  • RAG (Retrieval-Augmented Generation) applications
  • AI-powered search and recommendation systems
  • ML model serving and inference

Having dedicated Vespa support in TestContainers would enable proper testing of modern AI applications that rely on vector databases.

Why not just use a generic container for this?

Using GenericContainer("vespaengine/vespa:latest") is not sufficient because:

Complicated setup/configuration:

  • Vespa requires deploying application packages with specific configuration
  • Needs multiple services (config server, container cluster) to be properly initialized
  • Requires environment variables and specific startup sequence
  • Application packages must be deployed and activated before the container is ready

Complex wait strategy:

  • Cannot use simple HTTP wait - requires checking multiple endpoints:
    • Config server health: http://localhost:19071/state/v1/health
    • Container cluster readiness: http://localhost:8080/ApplicationStatus
    • Configuration activation status
  • Startup sequence involves waiting for config server, then deploying applications, then waiting for container cluster
  • Health checks need to verify multiple services are coordinated and ready

Other references:

  • Vespa GitHub: https://github.com/vespa-engine/vespa
  • Vespa Docker Hub: https://hub.docker.com/r/vespaengine/vespa/
  • Vespa quick start guide: https://docs.vespa.ai/en/vespa-quick-start.html
  • Vespa application packages: https://docs.vespa.ai/en/application-packages.html

olipze avatar Oct 12 '25 08:10 olipze