Terraform and OpenTofu Gradle Plugin Suite

A collection of Gradle plugins to deal with the Terraform and OpenTofu infrastructure management tool in a very gradlesque way.

Like many software projects, frameworks, plugins they start off because the author could not find a solution that really fitted their needs and submitting pull requests to existing projects would not have changed the direction of such projects to the needs of the author. This is one of those kind of projects and it is offered against a number of alternative solutions that are available as Gradle plugins.

The aim with the group of plugins is making the integration of Terraform into the build automation pipeline as smooth as possible. This combination of Gradle with Terraform makes for an extremely powerful orchestration platform in the DevOps.

The plugin brings with it a number of subgoals:

  • Simplicity to use defaults - convention over configuration

  • Maximum flexibility if you need it.

  • No need to install terraform or relevant tools - let Gradle take care of it for you.

Integrating these products delivers a powerful combination, but also presents a number of operational ways that challenges people that is used to using terraform or opentofu standalone or in scripts.

Using Terraform/OpenTofu with Gradle means that the tools no longer needs to be installed. Just specify the version and Gradle will bootstrap the correct version. If the version is already in cache (~/gradle/native-binaries/), Gradle will just reuse it.

Compatibility

The minimum Gradle version required to run these plugins are 7.3.3. These plugins also have been tested against the following versions: 8.9, 8.12.1. The minimum JRE version to run against is the higher of 11 and the minimum requirement of the specific Gradle version.

Support this project

Patreon If you like this project, consider donating to our Patreon account.

Discord We are on Discord. Click to join and then go to #terraform-gradle-plugin-suite.

Mastodon Follow us @ysb33rOrg@fosstodon.org in the #Fediverse