Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

10 watching

Forks

Repository files navigation

ddbj-search-converter

DDBJ Search のデータ投入用パイプラインツール。BioProject / BioSample / SRA / JGA / GEA / MetaboBank の生メタデータと INSDC / DRA Accessions を取り込み、Elasticsearch に投入する JSONL とデータベース間関連を保持する DuckDB (DBLink) を構築する。

関連プロジェクト

  • ddbj-search-converter (本リポジトリ): ES と DuckDB へのデータ投入パイプライン。Pydantic スキーマと ES mapping の SSOT
  • ddbj-search-api: ES と DuckDB を読む REST API サーバー。converter のスキーマを、uv.lock で固定した commit から import する
  • ddbj-search-front: フロントエンド
  • ddbj-search: nginx reverse proxy

converter と api を分けているのは、データ投入バッチと API サーバーのライフサイクル・依存関係が大きく違うため。converter は重い ETL 依存を抱えるバッチ、api は軽量な FastAPI で応答性を重視する。両者を 1 つに混ぜると依存関係と Docker イメージが膨らみ、deploy が API のパフォーマンスにも影響する。

クイックスタート

dev 環境はローカルで tests/fixtures/ の小規模データを使うので外部リソース不要。

cp env.dev .env
docker network create ddbj-search-network-dev || true
docker compose build --pull
docker compose up -d
docker compose exec app bash

staging / production は podman-compose で動かす。env.staging または env.production をコピーした .env と、podman 用 override をコピーで効かせる:

cp env.staging .env
cp compose.override.podman.yml compose.override.yml  # podman-compose が自動で読み込む
podman network create ddbj-search-network-staging || true
podman-compose up -d --build --pull

--pull は base image の更新 (OS と Python の修正) を取り込むために付ける。

詳細・落とし穴と production の Rundeck job (scripts/rundeck-job.yaml で日次運用) は docs/deployment.md。

パイプラインの実行 (scripts/run_pipeline.sh --full --blue-green 等) と CLI コマンドリファレンスは docs/cli-pipeline.md。

ドキュメント

License

This project is licensed under the Apache-2.0 license. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages