Vom Terraform-Validator migrieren

gcloud beta terraform vet ist ein Ersatz für das Open-Source-Projekt terraform-validator. Es gibt jedoch einige geringfügige Unterschiede. Wenn Sie Ihre CI/CD-Pipeline für die Verwendung von gcloud beta terraform vet migrieren, müssen Sie die folgenden Änderungen vornehmen.

1. Befehl und Argumente aktualisieren

  • terraform-validator validate durch gcloud beta terraform vet ersetzen
  • --policy-path durch --policy-library ersetzen

Einfaches Beispiel:

# Old
terraform-validator validate ./tfplan.json --policy-path=/path/to/policy-library

# New
gcloud beta terraform vet ./tfplan.json --policy-library=/path/to/policy-library

Mit Identitätsübernahme des Dienstkontos:

# Old
GOOGLE_IMPERSONATE_SERVICE_ACCOUNT=account@project.iam.gserviceaccount.com
terraform-validator validate ./tfplan.json --policy-path=/path/to/policy-library

# New
gcloud beta terraform vet ./tfplan.json --policy-library=/path/to/policy-library \
  --impersonate-service-account=account@project.iam.gserviceaccount.com

2. (Optional) Einschränkungsvorlagen aktualisiern

Die Dokumentation terraform-validator enthielt in der Vergangenheit eine Anleitung zum Schreiben von v1alpha1 Constraint Framework-Richtlinien. Es gibt ein neueres Format, das wir für das Schreiben neuer Richtlinien empfehlen. Sie können auch vorhandene Richtlinien auf das neue Format aktualisieren.

Für Richtlinien aus github.com/GoogleCloudPlatform/policy-library wird empfohlen, diese mit dem Remote-Repository zu synchronisieren.