Google CloudStatic-verified

A Delivery Pipeline whose Production Target Waits for a Person

require_approval defaults to false on every target, so a release rolls into production the moment somebody promotes it with nobody signing off; the verify flag defaults off, so skaffold verify has never run. Treats the last stage as production and refuses a pipeline whose last target skips approval, verifies after every rollout, and refuses the Compute default service account as the runner.

terraformGoogle Cloudgcp

Compare Managed CI/CD across clouds →

gcp-cloud-deployvizier v1.2.0

Verification

Static-verified

Passed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).

Conformance

  • Static validation (fmt · validate · tflint)
  • No applicable security policies for this provider
  • Plan tests (mocked: validation rules · outputs)

Provenance

  • SHA-256 checksum
  • Signature (pending)

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-09-14 · how we verify

Use it from the registry

terraform · opentofu
module "cloud_deploy" {
  source  = "www.iac-bazaar.com/iac-bazaar/gcp-cloud-deploy/gcp"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Cite it in your README

badge · attribution

Paste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads static-verified because the record says so, and the link lands on this page.

README.md, GitLab, Gitea
[![IaC Bazaar: static-verified](https://www.iac-bazaar.com/api/artifacts/gcp-cloud-deploy/badge)](https://www.iac-bazaar.com/catalog/gcp-cloud-deploy?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

Terraform module 1.0.0, static-verified on IaC Bazaar: [A Delivery Pipeline whose Production Target Waits for a Person](https://www.iac-bazaar.com/catalog/gcp-cloud-deploy?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

```hcl
module "cloud_deploy" {
  source  = "www.iac-bazaar.com/iac-bazaar/gcp-cloud-deploy/gcp"
  version = "1.0.0"
}
```

Preview:IaC Bazaar: static-verified

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

gcp-cloud-deploy

A delivery pipeline whose production target waits for a person. Works with Terraform and OpenTofu (>= 1.6), google provider >= 6.0, < 7.0.

require_approval defaults to false on every target. A serial pipeline promotes a release from stage to stage; with the default, a release rolls into production the moment somebody promotes it, with nobody signing off. This module treats the last stage as production and refuses a pipeline whose last target does not require approval, unless accept_unapproved_production. unapproved_targets lists the rest.

verify = false means the verification step never runs. The strategy's verify flag is what makes Cloud Deploy run skaffold verify after a rollout and fail it when the tests fail. Off by default in the API; on here.

The default execution service account is the Compute Engine default, which holds Editor on a fresh project. execution_service_account is required, and the Compute default is refused by validation.

A suspended pipeline accepts releases and promotes nothing. Needs accept_suspended.

Verification

Static validation runs tofu fmt, init, validate, tflint and checkov. This module has not yet had a live test, so it is published as statically validated with its live test pending and does not carry the live-tested mark.

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage

Related modules

Static validatedLive test pending

gcp-dataflow

on_delete defaults to cancel, which discards every element in flight on a streaming pipeline the moment the job is destroyed or replaced; workers get public IPs by default; and the default worker identity is the Compute Engine default account. Drain on delete, private workers with Private Google Access, a dedicated service account with the default refused, and a customer-managed key.

View module
Static validatedLive test pending

gcp-cloud-build

A trigger with no service account runs every step - including code from the pull request under test - as the broadest identity in the project; a trigger that deploys on push deploys whatever lands; the shared default pool has external IPs. A dedicated runner with the defaults refused, a private worker pool with no external addresses, and approval required on any trigger marked as deploying.

View module
Live-tested

gcp-composer

Managed Apache Airflow on Cloud Composer 2 with small-by-default sizing, worker autoscaling pinned for predictable cost, and an opt-in private environment posture.

View module
Live-tested

gcp-workflows

A Cloud Workflows workflow that runs as a dedicated least-privilege service account instead of the broad Compute Engine default, with inline YAML, deletion protection, and call logging.

View module
Live-tested

gcp-dataproc

A single-node Dataproc cluster (1 master, 0 workers), the cheapest managed Spark/Hadoop cluster that still applies and destroys cleanly, with internal-only IPs and deletion protection on.

View module
Live-tested

ansible-google-cloud-cli

gcloud, gsutil and bq on EL 10 from the versioned tarball, checked against a SHA-256 pinned beside the version: Google's yum key has a SHA-1 self-signature that rpm on EL 10 refuses, so the repository only installs with the GPG check off. Usage reporting and update nagging off installation-wide, read back through gcloud config get. Original role, live-tested on Rocky Linux 10.

View module