Phase 1 — Pipeline Worker: Render to Cloud Run (Completed)
Pipeline worker (BullMQ orchestrator) migration from Render to Cloud Run Service in europe-west3, completed 2026-06-02 and -03. As-built record with all checklist items marked done. Includes the Worker Pool vs Service decision, scaler-tuning fix (rev -00002), Belvedere validation results, and what stays out-of-scope for follow-up phases.
› Porting to GCPPhase 2 — Hydrographer Cron: Render to Cloud Scheduler + Cloud Run Job
The last Render service after the Phase-1 worker migration. Moves the nightly Getty/ULAN/GND person backfill to Cloud Scheduler + Cloud Run Job, reusing the existing worker image and Secret Manager refs.
› Porting to GCPPhase 3 — Web/API: Vercel to Cloud Run
Migrates the Next.js 15 web/API layer from Vercel Pro onto Cloud Run in europe-west3 with Cloud CDN. Replicates Vercel-cron entries via Cloud Scheduler and re-wires Sentry, NextAuth, and Firebase Auth domains.
› Porting to GCPPhase 4 — Database: Supabase to Cloud SQL
Highest-risk phase: migrates the 4.3 GB PostgreSQL 16 production database from Supabase to Cloud SQL in europe-west3 via baseline pg_dump + logical replication + flip-and-verify cutover. Preserves pgvector HNSW indexes.
› Porting to GCPPhase 5 — Cache and Queues: Upstash to Memorystore
Moves the BullMQ-backing Redis from Upstash EU-West to Memorystore for Redis Standard HA in europe-west3. Lowest complexity remaining: existing connectionConfig is vendor-agnostic, JobSchedulers auto-recreate on first boot.
› Porting to GCPPhase 6 — Object Storage: Cloudflare R2 to Cloud Storage (Optional)
Optional and defer-recommended. Moves the two R2 buckets to Google Cloud Storage with Cloud CDN. Counter-argument: R2's zero-egress is genuinely cheaper than GCS at any non-trivial bandwidth, so this is a vendor-consolidation play, not a cost win.
› Porting to GCPHandling secrets and keys
Recommended Secret Manager setup for AITourPilot on GCP: centralized per-environment secrets projects, service-specific service accounts, and least-privilege IAM.
› Porting to GCPMigrating from Supabase to Google Cloud SQL — Strategy, Cost & Migration Path
Migration rationale, technical scope, Cloud SQL cost-tier landscape, and practical migration path for moving AITourPilot data infrastructure off Supabase as part of broader GCP consolidation.
›