testcontainers / testcontainers/testcontainers-python

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

Abierto
#902 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

🚀 enhancement
Lenguaje dominante
Python
Estrellas
2.3k
Forks
386
Merge medio
4 h 40 min
PR fusionados (30 d)
1

Descripción

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:

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la documentación de inicio rápido de Vespa y la imagen vespaengine/vespa:latest; traza la secuencia de inicio de config-server, container-cluster y application-package. Comprueba los endpoints de salud del config server y de disponibilidad del container cluster indicados en el issue. Se considera terminado cuando Testcontainers Python proporciona soporte dedicado para Vespa que implementa y activa un paquete de aplicación antes de informar de que está listo.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
docker, python
Área
databases, testing
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.