Terraform module versioning follows semantic versioning with major, minor, and patch components. Major versions cover breaking or rollback-unsafe changes, minor versions cover backward-compatible features, and patch versions cover bug fixes. A practical walkthrough demonstrates creating an Azure storage module, fixing a bug (patch bump), adding a storage container (minor bump), and renaming a resource with a moved block (major bump due to rollback risk). Best practices include following semver strictly, maintaining a CHANGELOG.md, minimizing breaking changes, and using version constraints like `~> 2.0.0` or pinning to exact versions as a module consumer.

15m read timeFrom spacelift.io
Post cover image
Table of contents
What are Terraform modules?How does Terraform module versioning work?Example module versioning workflow in TerraformBest practices for Terraform module versioningHow to manage Terraform resources with SpaceliftKey takeaways

Sort: