Skip to main content

Add possibility to use manually provisioned Terragrunt binary

In stack settings we can choose to use custom (manually provisioned) Terraform binary, however it is not possible in case of Terragrunt. Since we are using are own Docker image runners, we could skip downloading the Terragrunt binary on every run, which would speed up a run by a little bit :)

Workaround
N/A
Status: 🗑️ Archived2 comments

Log in to comment and vote

Comments2

  • Natalia Gazda

    Team•

    Aug 6, 2025

    Great news!

    This feature already exists in Spacelift. You can use the **Manually Provisioned** option for Terragrunt stacks to achieve exactly what you're looking for.

    Here's how to set it up:

    1. **In your stack settings**, navigate to the Backend/Vendor configuration
    2. **For the Terragrunt tool**, select "Manually Provisioned" instead of OpenTofu or Terraform
    3. **In your custom Docker image**, pre-install Terragrunt at your desired version
    4. **Set the TERRAGRUNT_TFPATH environment variable** to point to your Terragrunt binary location (e.g., /usr/local/bin/terragrunt)

    This approach allows you to skip downloading Terragrunt on every run, giving you the speed improvement you're looking for. Since you're already using custom Docker runners, this should fit perfectly into your workflow.

    You can find more details in our Terragrunt Tool documentation.

    Let me know if you need any clarification on the setup!

    • Purple Teacup

      •

      Nov 25, 2025

      Hey @Natalia Gazda, thanks for reply, but I think what you wrote is incorrect. TERRAGRUNT_TFPATH environment variable should point at Terraform/OpenTofu binary, not Terragrunt binary. In fact, all of our Terraform/Terragrunt stacks do already have Tool set to Manually provisioned and indeed, it does not download *Terraform* binary, but it does download Terragrunt binary on every run