#!/bin/sh set -eu cd "$(dirname "$0")/.." export THT_VECTOR_BOOTSTRAP_PASSWORD_SECRET_FILE=${THT_VECTOR_BOOTSTRAP_PASSWORD_SECRET_FILE:-/tmp/vector-bootstrap} export THT_VECTOR_MIGRATOR_PASSWORD_SECRET_FILE=${THT_VECTOR_MIGRATOR_PASSWORD_SECRET_FILE:-/tmp/vector-migrator} export THT_VECTOR_READER_PASSWORD_SECRET_FILE=${THT_VECTOR_READER_PASSWORD_SECRET_FILE:-/tmp/vector-reader} export THT_VECTOR_WRITER_PASSWORD_SECRET_FILE=${THT_VECTOR_WRITER_PASSWORD_SECRET_FILE:-/tmp/vector-writer} local_files="-f compose.yaml -f deploy/compose.local-vector.yaml -f deploy/compose.preprocess.yaml -f deploy/compose.preprocess-local-vector.yaml" local_json=$(docker compose $local_files --profile local-vector --profile preprocess config --format json) printf '%s' "$local_json" | python3 -c ' import json, sys config = json.load(sys.stdin) services = config["services"] for name in ("preprocess-evidence", "preprocess-dwh"): dependency = services[name].get("depends_on", {}).get("vector-migrate") assert dependency is not None, f"{name} does not depend on vector-migrate" assert dependency["condition"] == "service_completed_successfully", dependency ' external_json=$(docker compose \ -f compose.yaml -f deploy/compose.preprocess.yaml \ --profile preprocess config --format json) printf '%s' "$external_json" | python3 -c ' import json, sys config = json.load(sys.stdin) services = config["services"] assert "vector-db" not in services assert "vector-migrate" not in services assert "vector-reconcile" not in services for name in ("preprocess-evidence", "preprocess-dwh"): service = services[name] assert "depends_on" not in service assert not service.get("secrets"), service.get("secrets") ' echo "preprocess compose config: ok"