All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m19s
Each service (blog, market, cart, events, federation, account) now owns its own database schema with independent Alembic migrations. Removes the monolithic shared/alembic/ that ran all migrations against a single DB. - Add per-service alembic.ini, env.py, and 0001_initial.py migrations - Add shared/db/alembic_env.py helper with table-name filtering - Fix cross-DB FK in blog/models/snippet.py (users lives in db_account) - Fix cart_impl.py cross-DB queries: fetch products and market_places via internal data endpoints instead of direct SQL joins - Fix blog ghost_sync to fetch page_configs from cart via data endpoint - Add products-by-ids and page-config-ensure data endpoints - Update all entrypoint.sh to create own DB and run own migrations - Cart now uses db_cart instead of db_market - Add docker-compose.dev.yml, dev.sh for local development - CI deploys both rose-ash swarm stack and rose-ash-dev compose stack - Fix Quart namespace package crash (root_path in factory.py) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
52 lines
1.2 KiB
Bash
Executable File
52 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Dev mode: run services with bind-mounted source code + auto-reload
|
|
# Usage:
|
|
# ./dev.sh # Start all services
|
|
# ./dev.sh blog market # Start specific services (+ infra)
|
|
# ./dev.sh --build blog # Rebuild image first, then start
|
|
# ./dev.sh down # Stop everything
|
|
# ./dev.sh logs blog # Tail logs for a service
|
|
|
|
COMPOSE="docker compose -p rose-ash-dev -f docker-compose.yml -f docker-compose.dev.yml"
|
|
INFRA_SERVICES="db pgbouncer redis redis-auth"
|
|
|
|
case "${1:-up}" in
|
|
down)
|
|
$COMPOSE down
|
|
;;
|
|
logs)
|
|
shift
|
|
$COMPOSE logs -f "$@"
|
|
;;
|
|
build)
|
|
shift
|
|
if [[ $# -eq 0 ]]; then
|
|
$COMPOSE build
|
|
else
|
|
$COMPOSE build "$@"
|
|
fi
|
|
;;
|
|
*)
|
|
# Collect flags and service names
|
|
BUILD_FLAG=""
|
|
SERVICES=()
|
|
for arg in "$@"; do
|
|
if [[ "$arg" == "--build" ]]; then
|
|
BUILD_FLAG="--build"
|
|
else
|
|
SERVICES+=("$arg")
|
|
fi
|
|
done
|
|
|
|
if [[ ${#SERVICES[@]} -eq 0 ]]; then
|
|
# Start everything
|
|
$COMPOSE up $BUILD_FLAG
|
|
else
|
|
# Start infra + requested app services
|
|
$COMPOSE up $BUILD_FLAG $INFRA_SERVICES "${SERVICES[@]}"
|
|
fi
|
|
;;
|
|
esac
|