Terraform Example: PDF Converter con Cloud Run
Este ejemplo implementa la arquitectura del lab Build a Serverless App with Cloud Run that Creates PDF Files (GSP644) con Terraform.
Qué despliega
- APIs necesarias (
run,pubsub,cloudbuild,storage). - Bucket de upload (
<project_id>-upload) con notificacion Pub/Sub enOBJECT_FINALIZE. - Bucket de procesados (
<project_id>-processed) donde se guardan los PDFs. - Topic de Pub/Sub
new-doc. - Cloud Run
pdf-converter(privado, 2 GB RAM, variablePDF_BUCKET). - Service account
pubsub-cloud-run-invoker+ bindings IAM. - Suscripcion push
pdf-conv-subcon autenticacion OIDC.
Pre-requisito: construir la imagen
Terraform no construye la imagen. Antes de hacer apply, ejecutá desde el directorio pet-theory/lab03:
git clone https://github.com/rosera/pet-theory.git
cd pet-theory/lab03
gcloud builds submit --tag gcr.io/<PROJECT_ID>/pdf-converter
Uso rápido
- Inicializá:
terraform init
- Creá
terraform.tfvars:
project_id = "tu-project-id"
region = "us-central1"
pdf_converter_image = "gcr.io/tu-project-id/pdf-converter"
- Plan y apply:
terraform plan
terraform apply
Salidas útiles
El ejemplo expone por outputs:
- URL del servicio
pdf-converter - Nombre del bucket de upload
- Nombre del bucket de procesados
- Nombre del topic y la suscripcion Pub/Sub
- Email de la service account invocadora