#!/bin/bash set -e python apps/regulatory_api.py & REG_PID=$! python apps/crm_api.py & CRM_PID=$! python apps/audit_api.py & AUD_PID=$! wait_for_service() { local url=$1 local name=$2 for i in $(seq 1 30); do if curl -sf "$url" > /dev/null 2>&1; then echo "[start.sh] $name ready" return 0 fi sleep 1 done echo "[start.sh] WARNING: $name did not become ready within 30s" return 1 } wait_for_service "http://localhost:8001/health" "regulatory_api" wait_for_service "http://localhost:8002/health" "crm_api" wait_for_service "http://localhost:8003/health" "audit_api" echo "[start.sh] All microservices up. Launching environment server on :8000" exec uvicorn server.app:app --host 0.0.0.0 --port 8000