ysb33r
08/10/2025, 10:16 AMterraform-docs tool.
In the support of these tools via Gradle, it mostly out-does terragrunt in the mgmt of infrastructure. And it does so in a very gradlesque way. With this plugin suite, you can.
• Manage multiple source sets of infrastructure.
• Declare (tf) workspaces per source set.
• Do 98% of all thing you would do with these tools, with a strong convention i.e. If you have source set called database and you have a workspace declared as production, you can apply it with a tfDatabaseApplyProduction. Behind the scenes, Gradle will switch to the correct workspace, place all of the necessary secrets in the env, run in the correct source directory, and execute your tofu / terraform command. Gone are all the accidental errors due to forgetting to change directories or switch workspaces!
• You can have dependencies between source sets. For instance, if you have have to ensure that all of your updates to your database infra has to occur before you update your data pipeline infra, you can declare that relationship in the DSL and Gradle ensures that tasks are executed in the correct order for both apply and destroy cases.
• You can even declare relationships between source sets in different subprojects and it will still allow the subprojects to be compatible with Isolated Projects and allow parallel execution where there are no relationships.
• You can run infrastructure tests as part of the check lifecycle and get an HTML report.
P.S. If you thought that Gradle is just for building JVM apps, think again - it is still the best tool out there today for orchestrating the whole pipeline.