-
Notifications
You must be signed in to change notification settings - Fork 574
[User Guide] Module Releases
The Azure landing zones Terraform module is designed to be published and consumed through the Terraform Registry. This approach allows us to release updates in a controlled manner, helping customers to manage change effectively.
This also allows customers to implement recommended practices for consuming modules using versioning, mitigating the risk of unexpected or unwanted changes.
Releases are tagged based on Semantic Versioning 2.0.0 and release notes will always outline the changes being introduced. In most cases, we will include the following information:
- What's changed?
- New features
- Fixed issues
- Breaking changes
Whilst we try to follow the published Semantic Versioning 2.0.0 guidelines, module releases are typically versioned according to the following:
Major versions are typically used when one or more of the following is true:
- Adding significant functionality to the module (such as the addition of the Virtual WAN capability in release v2.0.0)
- A significant change is needed to the customer code which requires careful consideration before being able to successfully run
terraform plan
- Existing resources will be recreated with direct customer impact (such as redeployment of networking resources)
- Changes to
default
values which would result in unexpected changes to deployed resources - Addition of new input variables without a
default
value
NOTE: When publishing major releases we will always provide a detailed upgrade guide to help with the upgrade experience.
Minor versions are typically used when one or more of the following is true:
- New resources will be automatically added to the customer environment without impacting existing resources managed by the module (such as addition of the new Log Analytics solutions in release v2.1.0)
- New resources will be added to the customer environment, but only if a new (optional) setting is explicitly enabled
- A new feature is being enabled which is configured through new input variables
- Addition of new input variables with a
default
value - Existing resources will be recreated without direct customer impact (such as redeployment of Azure Policy resources, or Roles)
- Minor updates will be needed for customer code before being able to successfully run
terraform plan
, such as simple edits to one or more input variables - Updates to policies which impact Policy Assignments (resulting in potential loss of compliance history)
Patch versions are typically used when one or more of the following is true:
- A bugfix is being released to fix incorrect behavior in the module without the need for updates to customer code
- Updates to policies which do not impact Policy Assignments (no loss of compliance history)
Review our Module upgrade guidance for more information on how to stay up to date.
This wiki is being actively developed
If you discover any documentation bugs or would like to request new content, please raise them as an issue or feel free to contribute to the wiki via a pull request. The wiki docs are located in the repository in the docs/wiki/
folder.
- Home
- User guide
- Video guides
-
Examples
- Level 100
- Level 200
-
Level 300
- Deploy multi region networking with custom settings (Hub and Spoke)
- Deploy multi region networking with custom settings (Virtual WAN)
- Deploy with Zero Trust network principles (Hub and Spoke)
- Deploy identity resources with custom settings
- Deploy management resources with custom settings
- Expand built-in archetype definitions
- Create custom policies, initiatives and assignments
- Override module role assignments
- Control policy enforcement mode
- Policy assignments with user assigned managed identities
- Level 400
- Frequently Asked Questions
- Troubleshooting
- Contributing