Write/update code
Run changes locally (for dev env)
Create pull request
Run Tests via CI
Deploy to staging via CD (on merge to main)
Deploy to prod via CD (on release)
Terragrunt
Minmizes code repitition
Enables multi-account seperation (improved isolation/security)
Cloud Nuke
Easy cleanup of cloud resources
Makefiles
Prevent human erro
Name changes when refactoring
Sensitive data in Terraform state files
Cloud timeouts
Naming conflicts
Forgetting to destory test-infra
Uni-directional version upgrades
Multiple ways to accomplish same config
Some params are immutable
Out of band changes
Last updated 2 years ago