
Hello, envzero and Terragrunt fans alike! Itβs new-feature-day, yet again! But this time, we have something really special for you. Weβre giving you the ability to completely change the game on the Infrastructure as Code files that you use to deploy and manage environments with our platform! Introducing remote-run support for Terragrunt workflows, now available in env0! Remote-run workflows allow for everyone on the team to be able to have visibility into the deployments of others on the team and removes the visibility issues of locally-run workflows. Also, envzero allows you to manage these environments from deploy to destroy. Running Terragrunt on envzero allows you to empower your workflows with Policies & Governance and RBAC.
But, what if you arenβt very familiar with Terragrunt and its benefits yet? Well, letβs talk about it!
What is Terragrunt?
Terragrunt is a thin wrapper that provides extra tools for keeping your configurations DRY (Donβt Repeat Yourself), working with multiple Terraform modules, and managing remote state.
But, what does keeping your configurations βdryβ mean? Having dry configs allows you to sanitize your terraform configuration files for use in multiple environments at once. Letβs say your code looks like this:
βββ live
βββ prod
β βββ app
β β βββ main.tf
β βββ mysql
β β βββ main.tf
β βββ vpc
β βββ main.tf
βββ qa
β βββ app
β β βββ main.tf
β βββ mysql
β β βββ main.tf
β βββ vpc
β βββ main.tf
βββ stage
βββ app
β βββ main.tf
βββ mysql
β βββ main.tf
βββ vpc
βββ main.tf
Each one of the environments have multiple components. In a traditional Terraform environment, you would have multiple sets of the same configuration files, that are all almost the same, but you have to edit the specific config info for each of the different environments. With Terragrunt, you can have βremote terraform configurationsβ where you store the clean terraform files in a separate repo, and then just call on it in remotely from any place you need it, and only put the Terragrunt configs for each specific environment in their corresponding place.
βββ live
βββ prod
β βββ app
β β βββ terragrunt.hcl
β βββ mysql
β β βββ terragrunt.hcl
β βββ vpc
β βββ terragrunt.hcl
βββ qa
β βββ app
β β βββ terragrunt.hcl
β βββ mysql
β β βββ terragrunt.hcl
β βββ vpc
β βββ terragrunt.hcl
βββ stage
βββ app
β βββ terragrunt.hcl
βββ mysql
β βββ terragrunt.hcl
βββ vpc
βββ terragrunt.hcl
This kind of operation can be very helpful when you have a lot of different environments or very complex environments at scale. For more information on Terragrunt, check out our friends at Gruntwork. You can also find them on GitHub.
How do I use Terragrunt in env0?
This is the easiest part! You can set up your templates with your existing Terragrunt repoβs the same way you set up your Terraform repoβs today. Just click Create New Template as you normally would, and then select Terragrunt.

From there, the template creation process is exactly the same as it is with your usual Terraform files. For more info on templates in env0, check out the docs here.
For more content about env0, be sure to follow us on Twitter, LinkedIn, and subscribe to our YouTube channel!



.avif)





