1.5 KiB
Architecture description
The design is a regional, event-driven ingestion path. An authenticated producer calls a Cloud Run service. The service performs lightweight schema validation, writes the original payload to a retained Cloud Storage bucket, and publishes an event envelope to Pub/Sub. A separate Cloud Run worker consumes the subscription and invokes downstream systems. At-least-once delivery is intentional: the worker must use an event ID as an idempotency key and acknowledge only after durable processing.
Cloud Run provides independently scalable HTTPS ingress and worker execution without managing servers. Pub/Sub separates producer latency from consumer capacity and provides retry behavior. Cloud Storage is the replay and audit boundary, with uniform bucket-level access and a lifecycle rule. Artifact Registry is the controlled source for externally built container images. Cloud Logging and Cloud Monitoring provide centralized operational signals; alert policies can be added when SLO thresholds are agreed.
The Terraform is intentionally limited to foundational infrastructure and a placeholder Cloud Run revision whose image is supplied by var.container_image. It does not build an image, configure application code, or apply resources. The project must already exist, and APIs are enabled by Terraform. Production should add customer-managed encryption keys, private egress controls, organization policies, and an explicit disaster-recovery strategy after the open questions are answered.