從 terraform-validator 遷移

gcloud beta terraform vet 取代開放原始碼 terraform-validator 專案,但有幾個小差異。如果您要將 CI/CD 管道遷移至 gcloud beta terraform vet,就必須進行下列變更。

1. 更新指令和引數

  • gcloud beta terraform vet 取代 terraform-validator validate
  • --policy-library 取代 --policy-path

基本範例:

# 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

使用服務帳戶模擬功能:

# 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. (選用) 升級限制範本

terraform-validator 說明文件先前曾提供如何編寫 v1alpha1 限制架構政策的指示;我們建議您使用較新的格式編寫新政策。您也可以升級現有政策,以便使用新格式

如果政策來源為 github.com/GoogleCloudPlatform/policy-library,建議您保持與遠端存放區同步。