Release notes
Features
-
#57 - Utilise Grolifant 5.x under the hood and remove deprecated Grolifant APIs.
-
#84 - Allow ability to add one or more files containing variables.
-
#85 - USe
--patch-argand--patch-argsin case workarounds are required on the command-lines. -
#88 - Add OpenTofu support.
-
#92 - Restructure plugins to use a model-based approach. Set minimum Gradle support to 7.3 and JDK to 11.
-
#99 - Support Gitlab as a backend and as provider authentication.
-
#100 - Replace
org.ysb33r.terraform.remotestate.terraformcloudplugin with direct backend support inorg.ysb33r.terraform.baseplugin. -
#101 - Restructure Terraform wrapper plugin and add an equivalent OpenTofu plugin.
-
#102 - Allow
AwsSecretsto extract appropriate AWS environment variables on demand. -
#103 - Support
taintanduntaintcommands forterraformandtofu. -
#104 - All tasks within one workspace have an execution order.
-
#105 -
tf*Init*tasks will lock plugin cache directory access during execution. -
#106 - Allow a source set to manage its own plugin cache directory.
-
#107 - Place an execution sequence in place for source sets.
-
#108 - All tool-executing tasks in a source set must not run in parallel.
Breaking changes
-
remoteStateVarProvideris now a direct member of the source set and is tied to the backend that is utilised by the source set. -
The
org.ysb33r.terraform.awsplugin has been replaced with a simpler, but more efficientorg.ysb33r.iac.aws.assumeroleplugin. -
The
org.ysb33r.terraform.checkplugin has been dropped. Formatting is now part of theorg.ysb33r.terraformplugin. -
The
org.ysb33r.terraform.remotestate.s3plugin has been dropped. S3 remote state is supported inorg.ysb33r.terrform.baseandorg.ysb33r.terraformplugins. -
The
org.ysb33r.terraform.remotestate.terraformcloudplugin has been dropped. Legacy Terraform Cloud is supported directly inorg.ysb33r.terraform.baseandorg.ysb33r.terraformplugins. -
The
org.ysb33r.terraform.gitlabplugin has been dropped. -
Variables can no longer be configured on a the
terraformextension on or on tasks. All variables need to be configured within the source set or using asourceSets.all.variablesapproach. -
Text templates for backends are no longer supported. They were unwieldy to use, and a pure all-tokens template is now automatically used.
-
Update access to the plugin cache directory is controlled via a locking mechanism. Turn this off via
terraformrcoropentofurcif you do not need it. -
The way assume roles are configured in the S3 backend of Terraform has changed. Most configurations will still work as methods were deprecated.
-
Backend configuration now uses
.tfbackendas extension rather than.tfas per this Terraform recommendation.
Contributors
A special thanks goes to the following contributors who carried us through 1.x releases
Dealing with concurrency in the execution of native Terraform and OpenTofu processes in a non-trivial matter. Here we have to thank the following people for their very useful suggestions and code examples leading up to the 2.0 release:
Other
-
#80 - use Grolifant 3.0.1 supporting gradle 8, after using Grolifant 2
-
Default version of Terraform is 1.8.0.