Managing Terraform Module Versioning and Dependencies
summary
Explains how an engineering team converts large Terraform setups into many small reusable modules, pins module versions via Terrafile (git tags) and orders deployments by building a dependency DAG fed to Tsort, producing sequential applies so VPCs, controllers, workers and Nomad jobs deploy in the right order. Results are smaller Terraform states, faster applies, fewer cross-module data pulls, and working Nomad job deployment via a tiny Nomad job module that accepts templates from callers.
AI-written summary · about
chapters (8)
- 0:00Intro
- 0:19Managing Terraform Module Versioning
- 2:43module "servers" source = "./app-cluster"
- 6:20Why version a module?
- 10:53External module management via lightweight tooling
- 15:05Let's talk about dependencies...
- 18:20Inherent Dependencies
- 25:27How far do we abstract?
related talks
31mTerraform Practices to Enable Infrastructure Scaling
39mTerraform Practices to Enable Infrastructure Scaling
48mCodifying Infrastructure with Terraform for the Future
35mMisadventures with Terraform
30mTerraform Practices to Enable Infrastructure Scaling
46mTerraform best practices with examples and arguments
05mWAT.tf
29mTerraform Practices - The Good, the Bad, and the Ugly
