testcontainers / testcontainers/testcontainers-python

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

Open
#902 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

🚀 enhancement
Dominant language
Python
Stars
2.3k
Forks
386
Avg merge
4h 40m
Merged PRs (30d)
1

Description

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.

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:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Vespa quick-start documentation and the vespaengine/vespa:latest image; map the config-server, container-cluster, and application-package startup sequence. Check the config server health and container cluster readiness endpoints listed in the issue. Done means Testcontainers Python provides dedicated Vespa support that deploys and activates an application package before reporting readiness.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
databases, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.