Terraform Github Action CI/CD
AWS cross account delegation 依舊 WIP,今天延續昨天內容,使用 github action 做 terraform module 的 CI/CD iThome 鐵人賽好讀版 賽後文章會整理放到個人的部落格上 http://chechia.net/ 追蹤粉專可以收到文章的主動推播 Terraform Github Action Jobs 我們可以在 terraform repository 中增加 tool checks 到 CI/CD 中,加強 code 的品質控管 terragrunt-infrastructure-modules PR 在此 這個 PR 包含幾個 Github Action Workflow ls .github/workflows checkov.yaml format.yaml plan.yaml security-scan.yaml validate.yaml format.yaml 中執行 terraform fmt -recursive,需求與目的已在昨天說明 validate.yaml 中執行 terraform validate,用來驗證 module 內的 terraform syntax 是否符合語法 checkov.yaml 是多語言的 policy as code 工具,在這邊執行掃描 terraform code 的安全性與 CVEs 檢查 security-scan.yaml 中也是 Policy As Code 使用 tfsec 工具掃描 plan.yaml 中在 pipeline 執行自動化 terraform plan 由於 plan 需要存取 state 與 provider API,設定上有許多權限設定需要開啟,目前是一個 dummy workflow policy as code 內容可以將一篇演講,有興趣請見底下投影片: 2022 DevOpsDay: Policy As Code for Terraform: https://docs.google.com/presentation/d/1yawazO1B_sP5Yiav-XLGJXW3ZS2JTV0wGuJwhrUKQ3A ...