ProjectBuild an AI Voice Receptionist: the explanation · Module 21: Deploying to Google Cloud with CI/CD · part 23 of 23
Part 23 · Module 21: Deploying to Google Cloud with CI/CD

Module 21: Deploying to Google Cloud with CI/CD

22 min read·
About 45 minutes · Needs: Module 20 (the images and the container stack), Module 14 (the live voice session) · Code: deploy/gcp/terraform/run.tf, deploy/gcp/terraform/main.tf, deploy/gcp/terraform/cicd.tf, deploy/gcp/deploy.sh, .github/workflows/ci.yml, .github/workflows/deploy.yml

Where this fits

WHERE THIS FITS The Medilane voice receptionist this module CLIENT React API LAYER FastAPI SAFETY SPEECH IN BRAIN LangGraph SPEECH OUT KNOWLEDGE AND DATA pgvector OPERATIONS Langfuse, Prometheus Caller app browser mic Staff app desk and admin REST API staff, sessions Voice socket audio both ways Auth + RBAC staff roles, voice tokens Guardrails emergency, PII VAD Silero, turns Whisper speech to text Language en, hi, Hinglish Agent tools, confirm Open models Groq: gpt-oss, Qwen Kokoro TTS en + hi voices Retrieval multilingual Ingestion clinic documents PostgreSQL clinic, calls, vectors Redis events, limits Front desk live events, hand-offs Observability traces, metrics Evaluation WER, safety, latency
Deployment moves the API with its voice socket, the database, Redis and the metrics endpoint (blue) onto Google Cloud, with the web app in front.

A clinic phone line that only runs on a laptop helps nobody. This module puts the same two images from Module 20 on Google Cloud Run, with a managed database, Redis and secret store, and sets up a pipeline so every tested commit reaches production without anyone copying keys around. Voice adds one twist ordinary web apps do not have: each call is a WebSocket that stays open for minutes.

Be clear about status: the Terraform passes terraform validate and terraform fmt -check, and the images run locally, but this deployment has not been applied to a real Google Cloud project. Treat the first apply as a test.

The rest of this project is yours to keep

This project is bought on its own, once, and stays readable afterwards, including the parts added to it later.

Or open everything with a plan