You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently cumulus reusable modules use the ~> version constraint for the aws provider version. This means that the code which uses that module must also be using the same major version (e.g. 3.x or 5.x) of the terraform provider in order to deploy.
This essentially locks the user of the modules into a range of provider versions. When those provider versions become outdated and stop functioning e.g. due to changes in AWS, the users cannot upgrade to newer versions until a new version of the cumulus modules is released that bump the version number, even if the terraform code is actually completely compatible with other provider versions.
Reusable modules should constrain only their minimum allowed versions of Terraform and providers, such as >= 0.12.0. This helps avoid known incompatibilities, while allowing the user of the module flexibility to upgrade to newer versions of Terraform without altering the module.
Note that cumulus is doing this with the terraform version, but not with the provider versions.
The text was updated successfully, but these errors were encountered:
reweeden
changed the title
Reusable module provider versions should be pinned using >= 3.0
Reusable module provider versions should be pinned using >= constraint instead of ~>Nov 10, 2023
I'm interested in contributing to it. Could you please let me know if the issue is still open and if contributions are welcome at this time? @Jkovarik@reweeden
Currently cumulus reusable modules use the
~>
version constraint for the aws provider version. This means that the code which uses that module must also be using the same major version (e.g. 3.x or 5.x) of the terraform provider in order to deploy.This essentially locks the user of the modules into a range of provider versions. When those provider versions become outdated and stop functioning e.g. due to changes in AWS, the users cannot upgrade to newer versions until a new version of the cumulus modules is released that bump the version number, even if the terraform code is actually completely compatible with other provider versions.
It is recommended in the terraform documentation that reusable modules pin their dependent provider versions using a
>=
constraint to prevent these issues. See: https://developer.hashicorp.com/terraform/language/expressions/version-constraints#terraform-core-and-provider-versionsNote that cumulus is doing this with the terraform version, but not with the provider versions.
The text was updated successfully, but these errors were encountered: