Skip to content

Google Cloud Integration

This section documents Validibot's integration with Google Cloud Platform (GCP). The platform runs on Cloud Run for compute and Cloud SQL for data storage. The default region is us-west1, but you can deploy to any region that supports Cloud Run (set GCP_REGION in your env file).

Quick Start

All deployment commands require a stage parameter (dev, staging, or prod):

just gcp deploy dev       # Deploy web service to dev
just gcp deploy-all dev   # Deploy web + worker to dev
just gcp migrate dev      # Run database migrations on dev
just gcp logs dev         # View recent logs for dev
just gcp status dev       # Show dev service URL and status

Run just (with no arguments) to see all available commands.

Architecture Overview

The GCP architecture includes:

  • Cloud Run (web) - Django app serving user traffic
  • Cloud Run (worker) - Background processing and validator callbacks
  • External HTTP(S) Load Balancer (optional) - Custom domain routing via serverless NEG. Required for regions without Cloud Run domain mapping support (e.g. australia-southeast1); optional but recommended for production in other regions
  • Cloud SQL - Managed PostgreSQL database
  • Cloud Storage - Object storage for media files
  • Cloud Tasks - Optional async queue for web→worker work and retries (validator jobs are triggered via the Jobs API today)
  • Cloud Scheduler - Cron jobs for maintenance tasks
  • Secret Manager - Secure credential storage

When using a custom domain (production), keep these base URLs separate:

  • SITE_URL: Public base URL (prod: https://validibot.com).
  • WORKER_URL: Worker *.run.app URL used for validator callbacks and scheduled tasks.

Documentation