testcontainers / testcontainers/testcontainers-python

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

Aperta
#902 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

🚀 enhancement
Lingua principale
Python
Stelle
2.3k
Fork
386
Merge medio
4h 40m
PR unite (30g)
1

Descrizione

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:

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con la documentazione di avvio rapido di Vespa e con l’immagine vespaengine/vespa:latest; traccia la sequenza di avvio di config-server, container-cluster e application-package. Controlla gli endpoint di health del config server e di readiness del container cluster elencati nell’issue. Il lavoro è completato quando Testcontainers Python fornisce un supporto dedicato per Vespa che distribuisce e attiva un application package prima di segnalare la readiness.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
docker, python
Ambito
databases, testing
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.