Skip to main content

Prerequisites

Required Tools

You will need to install some cli-tools. If you’ve set these up before, double-check that your versions meet the requirements.

AWS CLI

The AWS Command Line Interface.

Terragrunt

A thin wrapper for Terraform.

Terraform

Min. version: 1.11.3

Kubectl

For interacting with Kubernetes clusters

Helm

Package manager for Kubernetes

Reduce Disk Usage

Fast Foundation modules are sourced from a dedicated git repository. Each terragrunt init clones modules and downloads provider plugins. Without caching, the AWS provider alone (~762 MB) gets duplicated in every unit’s .terraform/ directory — with 40+ units this adds up to tens of gigabytes of wasted disk space.

Provider Plugin Cache (Required)

The provider plugin cache stores provider binaries once and hardlinks them into each unit, reducing per-unit storage overhead to effectively zero. Step 1: Create the cache directory:
Step 2: Create or edit ~/.terraformrc with these two lines:
Both lines are required. Without plugin_cache_may_break_dependency_lock_file, Terraform copies provider binaries instead of hardlinking them, negating the disk savings.
More information: Terraform Provider Plugin Cache documentation

Additional Tips

  • Use --provider-cache flag when running terragrunt run --all init --provider-cache to leverage the cache during bulk initialization
  • Clean up .terraform/ directories periodically if disk space is a concern: find . -name ".terraform" -type d -exec rm -rf {} + (then re-run terragrunt init)
  • Avoid initializing the entire repo if you only work on a few accounts — run terragrunt init from the specific account or region folder instead