testcontainers / testcontainers/testcontainers-python
New Container: Vespa AI (Vector Database & Search Engine)
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 2.3k
- フォーク
- 386
- 平均マージ
- 4時間 40分
- マージ済み PR(30日)
- 1
説明
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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Vespa のクイックスタートドキュメントと vespaengine/vespa:latest イメージから始め、config-server、container-cluster、application-package の起動シーケンスを整理します。issue に記載されている config server の health エンドポイントと container cluster の readiness エンドポイントを確認します。Testcontainers Python が Vespa 専用のサポートを提供し、readiness を報告する前に application package をデプロイしてアクティベートできれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- docker, python
- 領域
- databases, testing
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100