RuleWatcher 系 repository に Terraform を導入するときの標準手順をまとめる。wolf-back の運用に寄せつつ、最初から plan / apply まで自動化してよい箇所と、認証設計が必要な箇所を分ける。
infra/terraform/
README.md
aws/environments/prod/
backend.hcl
versions.tf
main.tf
outputs.tf
gcp/environments/prod/
backend.hcl
versions.tf
main.tf
outputs.tf
gcp/modules/aws_workload_identity_provider/
main.tf
variables.tf
outputs.tf
.tool-versions に最低限以下を置く。
terraform 1.14.7
tflint 0.61.0
trivy 0.70.0
Trivy config scan の設定は repository root の trivy.yaml に置く。
plan コメントまで運用する場合は wolf-back と同じく tfcmt も追加する。
tfcmt 4.14.15
既存の state bucket を使う場合は、環境ごとに backend.hcl を置く。
bucket = "rulewatcher-infra-tfstate"
key = "<repo>/<cloud>/<env>/terraform.tfstate"
region = "ap-northeast-1"
use_lockfile = true
state key は repository / cloud / environment が分かる名前にする。