refactor: remove fastgpt runtime dependency
This commit is contained in:
44
deploy/cutover_storyforge_collector_overlay.sh
Executable file
44
deploy/cutover_storyforge_collector_overlay.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="${ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
|
||||
BASE_COMPOSE_FILE="${BASE_COMPOSE_FILE:-$ROOT_DIR/docker-compose.yml}"
|
||||
RUNTIME_FIXES_COMPOSE_FILE="${RUNTIME_FIXES_COMPOSE_FILE:-$ROOT_DIR/deploy/storyforge-collector-runtime-fixes.yml}"
|
||||
OVERLAY_COMPOSE_FILE="${OVERLAY_COMPOSE_FILE:-$ROOT_DIR/deploy/storyforge-collector-source-overlay.yml}"
|
||||
PROJECT_NAME="${PROJECT_NAME:-storyforge-gitea}"
|
||||
COLLECTOR_URL="${COLLECTOR_URL:-http://127.0.0.1:8081}"
|
||||
MAX_ATTEMPTS="${MAX_ATTEMPTS:-25}"
|
||||
SLEEP_SEC="${SLEEP_SEC:-2}"
|
||||
|
||||
compose_with_overlay() {
|
||||
docker compose -p "$PROJECT_NAME" -f "$BASE_COMPOSE_FILE" -f "$RUNTIME_FIXES_COMPOSE_FILE" -f "$OVERLAY_COMPOSE_FILE" "$@"
|
||||
}
|
||||
|
||||
compose_base() {
|
||||
docker compose -p "$PROJECT_NAME" -f "$BASE_COMPOSE_FILE" -f "$RUNTIME_FIXES_COMPOSE_FILE" "$@"
|
||||
}
|
||||
|
||||
verify_overlay() {
|
||||
curl -fsS "$COLLECTOR_URL/healthz" >/dev/null
|
||||
local paths
|
||||
paths="$(curl -fsS "$COLLECTOR_URL/openapi.json" | jq -r '.paths | keys[]')"
|
||||
grep -qx '/v2/douyin/accounts' <<<"$paths"
|
||||
grep -qx '/v2/pipelines/real-cut' <<<"$paths"
|
||||
grep -qx '/v2/pipelines/ai-video' <<<"$paths"
|
||||
grep -qx '/v2/pipelines/content-source-sync' <<<"$paths"
|
||||
}
|
||||
|
||||
echo "[cutover] recreating collector with source overlay"
|
||||
compose_with_overlay up -d --force-recreate collector
|
||||
|
||||
for attempt in $(seq 1 "$MAX_ATTEMPTS"); do
|
||||
if verify_overlay; then
|
||||
echo "[cutover] collector overlay is live on $COLLECTOR_URL"
|
||||
exit 0
|
||||
fi
|
||||
sleep "$SLEEP_SEC"
|
||||
done
|
||||
|
||||
echo "[cutover] verification failed, rolling back to base compose"
|
||||
compose_base up -d --force-recreate collector
|
||||
exit 1
|
||||
9
deploy/rollback_storyforge_collector_overlay.sh
Executable file
9
deploy/rollback_storyforge_collector_overlay.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="${ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
|
||||
BASE_COMPOSE_FILE="${BASE_COMPOSE_FILE:-$ROOT_DIR/docker-compose.yml}"
|
||||
RUNTIME_FIXES_COMPOSE_FILE="${RUNTIME_FIXES_COMPOSE_FILE:-$ROOT_DIR/deploy/storyforge-collector-runtime-fixes.yml}"
|
||||
PROJECT_NAME="${PROJECT_NAME:-storyforge-gitea}"
|
||||
|
||||
docker compose -p "$PROJECT_NAME" -f "$BASE_COMPOSE_FILE" -f "$RUNTIME_FIXES_COMPOSE_FILE" up -d --force-recreate collector
|
||||
4
deploy/storyforge-collector-runtime-fixes.yml
Normal file
4
deploy/storyforge-collector-runtime-fixes.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
services:
|
||||
collector:
|
||||
environment:
|
||||
N8N_BASE_URL: http://n8n:5678
|
||||
6
deploy/storyforge-collector-source-overlay.yml
Normal file
6
deploy/storyforge-collector-source-overlay.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
services:
|
||||
collector:
|
||||
environment:
|
||||
N8N_BASE_URL: http://n8n:5678
|
||||
volumes:
|
||||
- ${COLLECTOR_APP_OVERLAY_DIR:-/Users/kris/code/StoryForge/collector-service/app}:/app/app:ro
|
||||
Reference in New Issue
Block a user