Skip to content

Using generic CI/CD tools for your IaC automation? 🤖⚙️

Download the Build vs Buy Guide→

Reference»

Stack Settings»

  • Use Run All - If Spacelift should use Terragrunt's run-all functionality in this stack.
  • Smart Sanitization - If Spacelift should use Smart Sanitization for the resources and outputs generated by this stack.
  • Terragrunt Version - Which version or range of versions of Terragrunt should be used
  • Tool - Whether to use OpenTofu, an open source version of Terraform, or a manually provisioned tool.
  • Tool Version - Which version or range of versions of OpenTofu or Terraform should be used

Info

Spacelift makes use of the Version Compatibility Table to determine which version combinations of OpenTofu/Terraform and Terragrunt are compatible with each other.

Environment Variables»

In Terragrunt stacks you can use environment variables to add options to the command line arguments sent to Terragrunt. To use these environment variables, you can see the documentation here.

There is an environment variable for each phase of the run:

  • TG_CLI_ARGS_init - Allows you to add options sent to the Terragrunt application during the initialization phase
  • TG_CLI_ARGS_plan - Allows you to add options sent to the Terragrunt application during the planning phase
  • TG_CLI_ARGS_apply - Allows you to add options sent to the Terragrunt application during the applying phase

Terraform provider»

If you create a Terragrunt stack via the Terraform provider, and don't populate the terraform_version or terragrunt_version properties, we default to the latest version available at creation time. If you create a stack with these values populated, and then later remove the fields, the stack continues to use the version set during stack creation, and doesn't update to the latest available version. If you change the tool and terraform_version isn't populated, the terraform_version will be reset in state file.

Module Registry»

To enable seamless authentication with Spacelift's module registry, we automatically configure the TG_TF_REGISTRY_TOKEN environment variable for stacks utilizing our native Terragrunt vendor.

Below is an example of how you can format your Terraform block:

1
2
3
terraform {
  source = "tfr://spacelift.io/organization/module_name/provider?version=0.0.1"
}