Managing Terraform modules at scale
summary
Describes managing Terraform at scale for an org running 20 staging environments, moving from copy‑paste and a monorepo to versioned modules in separate repos. Uses Atlantis (and its problem that Atlantis locks state per PR), git‑ref modules with branch/version tagging, a test environment for module promotion, a local module pull workflow for fast lint/validate, and state import/move to migrate resources. Works faster and safer but still requires drift detection, manual two‑step applies for provider‑initialized resources, and human coordination.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:52Problem statement
- 8:12What constitutes an environment in Terraform
- 9:15Requirements for managing multiple environments
- 11:24Orchestrating Terraform with Atlantis
- 12:51Environment structure and code organization
- 14:38Evolution from copy-paste to modularization
- 16:22Terraform modules
- 19:15Module challenges
- 24:13Layered infrastructure design
- 26:43Introducing stacks
- 30:34Versioning workflow
- 34:45Social challenges
- 37:30Local development
- 40:21Final workflow
- 41:25Provider constraints
- 47:26Drift detection
- 48:50Migrating to modules
- 51:18Migration limitations
- 53:24Tools considered
- 54:07Key takeaways
- 55:12Q&A
related talks
31mTerraform Practices to Enable Infrastructure Scaling
06mIGNITE: Terraform Practice to Enable Infrastructure Scaling
30mTerraform Practices to Enable Infrastructure Scaling
35mMisadventures with Terraform
41mTerraform Practices - The Good, the Bad, and the Ugly
46mTerraform best practices with examples and arguments
01h 00mGotchas using Terraform in a secure delivery pipeline
35mTerraform Practices - The Good, the Bad and the Ugly
