Google Cloud Terraform Policy Validation vs Kyverno
Google Cloud Terraform Policy Validation
docs.cloud.google.comKyverno
kyverno.ioSide by side
| Figure | Google Cloud Terraform Policy Validation | Kyverno |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 2 |
| Spec score · Infrastructure Policy as Code Tools | 8.5 (#6) | 8.5 (#7) |
| Availability | The policy validation documentation labels the feature Preview and says Pre-GA offerings may have limited support. | A standard installation has a required admission controller and optional background, reports, and cleanup controllers; production installations should use high availability mode. |
| Founded | 1998 | 2019 |
| Integrations | Google Cloud IaC validation can be run through Google Cloud CLI or integrated with Cloud Build, Jenkins, and GitHub Actions. | CNCF lists common integrations with Argo CD, Backstage, Flux and Kubernetes for GitOps and platform governance. |
| Purpose | gcloud beta terraform vet enforces policy compliance as part of an infrastructure CI/CD pipeline. | Kyverno is a Kubernetes-native policy engine for defining and enforcing policy as code. |
| Support | Until gcloud beta terraform vet is generally available, users are directed to open support tickets in the terraform-google-conversion GitHub repository. | The project directs users to its Kubernetes Slack channels, GitHub, and mailing list for questions and discussion. |
| Validation | The tool retrieves project data with Google Cloud APIs to validate Terraform plans accurately. | Validation rules can block noncompliant resources in Enforce mode or record violations in Audit mode. |
Plans
Google Cloud Terraform Policy Validation
- gcloud beta terraform vetFree
In their own words
Google Cloud Terraform Policy Validation
Google Cloud Terraform Policy Validation checks Terraform plans against organizational security and governance constraints before infrastructure changes are applied. The `gcloud beta terraform vet` command evaluates Terraform plan JSON, retrieving project data through Google Cloud APIs. It can flag violations, issue warnings, or halt a deployment before production; it returns exit code 0 when no violations are found and 2 when they are. Platform teams can place validation between plan and apply in CI/CD workflows using Cloud Build, Jenkins, or GitHub Actions. The command accepts Terraform 0.12 or later plan JSON and requires a policy library and the Google Cloud CLI `terraform-tools` component. Policies can cover supported resources from Terraform's google and google-beta providers, and constraints can be reused with other tools that support the framework. The command is free and client-side. The feature is in Preview under Pre-GA terms, where support may be limited. Security Command Center IaC validation has separate requirements: Premium or Enterprise activation at the organization level and a specified role. That workflow also requires Terraform Google provider version 5.5 or later.
Kyverno
Kyverno is a free, open-source policy engine for defining and enforcing policy as code in Kubernetes. Its stable policy types can validate, mutate, generate or delete resources, and verify container image signatures and attestations. The Kyverno CLI can test policies against Kubernetes resource manifests in CI before they are applied to a live cluster. Documentation describes use with Helm, YAML manifests, GitHub Actions and GitOps tools such as ArgoCD. Kyverno is installed in a Kubernetes cluster; Helm is recommended for production, and YAML manifests are also available. A standard installation requires an admission controller, while background, reports and cleanup controllers are optional. Production installations should use high availability mode. The project supports CEL-based policy types and describes applying Kubernetes-style policies outside Kubernetes as part of its mission. Its webhooks default to fail-closed, so matching requests can fail if the API server cannot reach Kyverno. The project documents Cosign signatures for images and manifests, and lists CLI binaries for Linux, macOS and Windows.