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
On the road to the first major release of Terragrunt 1.0, some breaking changes will take place that remove functionality in Terragrunt.
While features will primarily be introduced as backwards compatible, deprecated features will be gradually removed leading up to 1.0, and remain supported until the next major version, 2.0. More on this can be found here, in the CLI Redesign RFC.
Note that users can also leverage Strict Mode to opt-in to these breaking changes before they occur to confirm that they are ready to adopt the releases where the changes take place. All deprecated functionality will be introduced to a strict mode control before it is fully removed to give users the chance to try out the removal preemptively.
The items listed below will be listed in order of their eventual removal. Initially, they will be listed with To Be Decided (TBD) deadlines for their removal, but as we get closer to 1.0, they will be scheduled, and removed slowly.
This is a living document. If you have concerns or would like to request that the order or deadline for feature removal change, please share your feedback. More may be added to this schedule as we get closer to 1.0.
Removal Schedule
Removal of longstanding deprecated commands (e.g. plan-all) - TBD
Removal of legacy Terragrunt flags (all flags that start with terragrunt-) - TBD
Removal of backend provisioning as default behavior - TBD
Removal of command forwarding by default - TBD
Removal of deprecated commands (e.g. terragrunt-info) - TBD
Removal of behavior where inputs are read from dependencies - TBD
Removal of deprecated runtime controls (skip, retryable_errors) - TBD
Removed Features
The following is a breakdown of the items listed above, and why they are being removed.
Removal of longstanding deprecated commands
For quite a long time, commands like plan-all have been deprecated in favor of the run-all command, which can be used in combination with other commands like plan, apply, etc instead of a dedicated command. Most users have already adopted run-all, so this should be relatively safe to do today.
Removal of legacy Terragrunt flags
As discussed here, by 1.0, Terragrunt users will no longer have to use flags named with a terragrunt- prefix for every flag.
Once there is a new corresponding flag for every existing terragrunt- prefixed flag, the run and exec commands are introduced, and dedicated OpenTofu shortcuts are introduced, the terragrunt- prefixed flags will no longer be necessary. At this stage, these flags can be removed.
Removal of backend provisioning as default behavior
As discussed here, the current default behavior of Terragrunt whereby backend resource provisioning is attempted by default is not desirable, and better alternatives exist.
Once the backend command is introduced, along with the --backend-bootstrap flag, this behavior can be removed from Terragrunt.
Removal of command forwarding by default
As discussed here, the current default behavior of Terragrunt forwarding all commands to OpenTofu/Terraform when they are not native commands in Terragrunt causes a lot of confusion and errors for users.
Once the run command is introduced, along with dedicated OpenTofu command shortcuts, this behavior can be removed.
Removal of deprecated commands
As discussed here, there are numerous instances where existing, infrequently used commands in Terragrunt can be restructured into a better organized, more consistent system.
Once these new commands are introduced to make the existing commands deprecated, legacy commands like terragrunt-info can be removed.
Removal of behavior where inputs are read from dependencies
As discussed here, the current default behavior of Terragrunt where dependencies expose their inputs as accessible values slows Terragrunt configuration parsing significantly.
Given that users can simply forward inputs of dependencies as outputs, this behavior can be removed.
The text was updated successfully, but these errors were encountered:
On the road to the first major release of Terragrunt 1.0, some breaking changes will take place that remove functionality in Terragrunt.
While features will primarily be introduced as backwards compatible, deprecated features will be gradually removed leading up to 1.0, and remain supported until the next major version, 2.0. More on this can be found here, in the CLI Redesign RFC.
Note that users can also leverage Strict Mode to opt-in to these breaking changes before they occur to confirm that they are ready to adopt the releases where the changes take place. All deprecated functionality will be introduced to a strict mode control before it is fully removed to give users the chance to try out the removal preemptively.
The items listed below will be listed in order of their eventual removal. Initially, they will be listed with To Be Decided (TBD) deadlines for their removal, but as we get closer to 1.0, they will be scheduled, and removed slowly.
This is a living document. If you have concerns or would like to request that the order or deadline for feature removal change, please share your feedback. More may be added to this schedule as we get closer to 1.0.
Removal Schedule
plan-all
) - TBDterragrunt-
) - TBDterragrunt-info
) - TBDskip
,retryable_errors
) - TBDRemoved Features
The following is a breakdown of the items listed above, and why they are being removed.
Removal of longstanding deprecated commands
For quite a long time, commands like
plan-all
have been deprecated in favor of therun-all
command, which can be used in combination with other commands likeplan
,apply
, etc instead of a dedicated command. Most users have already adoptedrun-all
, so this should be relatively safe to do today.Removal of legacy Terragrunt flags
As discussed here, by 1.0, Terragrunt users will no longer have to use flags named with a
terragrunt-
prefix for every flag.Once there is a new corresponding flag for every existing
terragrunt-
prefixed flag, therun
andexec
commands are introduced, and dedicated OpenTofu shortcuts are introduced, theterragrunt-
prefixed flags will no longer be necessary. At this stage, these flags can be removed.Removal of backend provisioning as default behavior
As discussed here, the current default behavior of Terragrunt whereby backend resource provisioning is attempted by default is not desirable, and better alternatives exist.
Once the
backend
command is introduced, along with the--backend-bootstrap
flag, this behavior can be removed from Terragrunt.Removal of command forwarding by default
As discussed here, the current default behavior of Terragrunt forwarding all commands to OpenTofu/Terraform when they are not native commands in Terragrunt causes a lot of confusion and errors for users.
Once the
run
command is introduced, along with dedicated OpenTofu command shortcuts, this behavior can be removed.Removal of deprecated commands
As discussed here, there are numerous instances where existing, infrequently used commands in Terragrunt can be restructured into a better organized, more consistent system.
Once these new commands are introduced to make the existing commands deprecated, legacy commands like
terragrunt-info
can be removed.Removal of behavior where inputs are read from dependencies
As discussed here, the current default behavior of Terragrunt where dependencies expose their inputs as accessible values slows Terragrunt configuration parsing significantly.
Given that users can simply forward inputs of dependencies as outputs, this behavior can be removed.
The text was updated successfully, but these errors were encountered: