plan tự động khi mở PR và post output vào comment, apply sau khi merge.
Thay đổi hạ tầng đi qua đúng quy trình như thay đổi code.
yaml
# PR
- terraform fmt -check
- terraform validate
- tfsec . # scan security
- terraform plan -out=tfplan -lock-timeout=5m
- post plan output vao PR comment
# merge vao main
- terraform apply tfplan # dung file plan da reviewĐiểm quan trọng về tính đúng đắn: apply đúng file plan đã review, đừng plan lại lúc apply. Giữa hai thời điểm, code hoặc hạ tầng có thể đã đổi.
Về quyền: CI dùng OIDC role ngắn hạn thay vì access key cố định lưu trong secret. Key cố định bị lộ là kẻ tấn công có toàn quyền trên hạ tầng.
Hai kiểm tra rẻ mà đáng thêm: chặn merge nếu plan có destroy trên resource stateful, và ước tính chi phí (Infracost) cho thay đổi lớn.