Comprehensive documentation for the Ether Data spatio-temporal data workspace
This directory contains deployment configurations for running the Ether Gateway on Google Cloud Run.
# Deploy to Google Cloud Run
./deployment/deploy.sh your-project-id us-central1
cloudbuild.yaml - Cloud Build configuration for building and deploying the containerdeploy.sh - Deployment script that handles the full build and deploy processDockerfile - Multi-stage container definition (located in parent directory).dockerignore - Files to exclude from Docker build contextThe deployment follows these steps:
The following environment variables are set for production:
ENVIRONMENT=production
CORS_ORIGINS=*
# PORT is automatically set by Cloud Run
Cloud Run uses these endpoints for health monitoring:
/health/live - Basic health check/health/ready - Ready to serve traffic/health - Comprehensive service health checkAfter deployment, the gateway will be available at:
https://ether-gateway-[hash]-[region].run.app/docs/redoc/healthThe deployed gateway exposes:
/v1/places/ (Overture POI data)/v1/traffic/ (TomTom traffic data)/gateway/mcp/ (MCP server)/api/ (Dynamic service discovery)# Recent logs
gcloud logging read 'resource.type="cloud_run_revision" AND resource.labels.service_name="ether-gateway"' --limit=50
# Follow logs
gcloud logging tail 'resource.type="cloud_run_revision" AND resource.labels.service_name="ether-gateway"'
# Get service details
gcloud run services describe ether-gateway --region=us-central1
# List all revisions
gcloud run revisions list --service=ether-gateway --region=us-central1
# Get service URL
SERVICE_URL=$(gcloud run services describe ether-gateway --region=us-central1 --format="value(status.url)")
# Test health endpoint
curl "$SERVICE_URL/health/ready"
# Test API documentation
curl "$SERVICE_URL/docs"
To update the deployed service:
./deployment/deploy.sh your-project-id us-central1
Cloud Run will automatically create a new revision and gradually shift traffic to it.
gcloud builds list --limit=5
gcloud builds log <BUILD_ID>
gcloud logging read 'resource.type="cloud_run_revision" AND resource.labels.service_name="ether-gateway"' --limit=20
Test the Docker image locally:
# Build locally (from workspace root)
docker build -f proj/apis/gateway/Dockerfile -t ether-gateway .
# Run locally
docker run -p 8000:8000 -e ENVIRONMENT=production ether-gateway
# Test
curl http://localhost:8000/health/ready