testcontainers / testcontainers/testcontainers-python
New Container: Vespa AI (Vector Database & Search Engine)
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 2.3k
- Forks
- 386
- Merge moyen
- 4 h 40 min
- PR mergées (30 j)
- 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.
- 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
- Config server health:
- 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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la documentation de démarrage rapide de Vespa et l’image vespaengine/vespa:latest ; établissez la séquence de démarrage de config-server, container-cluster et application-package. Vérifiez les endpoints de santé du config server et de disponibilité du container cluster indiqués dans l’issue. C’est terminé lorsque Testcontainers Python fournit une prise en charge dédiée de Vespa qui déploie et active un package d’application avant de signaler qu’il est prêt.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- docker, python
- Domaine
- databases, testing
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100