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-arg
and--patch-args
in 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.terraformcloud
plugin with direct backend support inorg.ysb33r.terraform.base
plugin. -
#101 - Restructure Terraform wrapper plugin and add an equivalent OpenTofu plugin.
-
#102 - Allow
AwsSecrets
to extract appropriate AWS environment variables on demand. -
#103 - Support
taint
anduntaint
commands forterraform
andtofu
. -
#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.
Bugs
-
#109 - Source sets other than the default is relying on the incorrect init task.
Breaking changes
-
remoteStateVarProvider
is 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.aws
plugin has been replaced with a simpler, but more efficientorg.ysb33r.iac.aws.assumerole
plugin. -
The
org.ysb33r.terraform.check
plugin has been dropped. Formatting is now part of theorg.ysb33r.terraform
plugin. -
The
org.ysb33r.terraform.remotestate.s3
plugin has been dropped. S3 remote state is supported inorg.ysb33r.terrform.base
andorg.ysb33r.terraform
plugins. -
The
org.ysb33r.terraform.remotestate.terraformcloud
plugin has been dropped. Legacy Terraform Cloud is supported directly inorg.ysb33r.terraform.base
andorg.ysb33r.terraform
plugins. -
The
org.ysb33r.terraform.gitlab
plugin has been dropped. -
Variables can no longer be configured on a the
terraform
extension on or on tasks. All variables need to be configured within the source set or using asourceSets.all.variables
approach. -
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
terraformrc
oropentofurc
if you do not need it.
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.