Skip to content

Instantly share code, notes, and snippets.

@pap-12
Last active June 23, 2026 07:35
Show Gist options
  • Select an option

  • Save pap-12/c7275def761bc9d81e05cb980c3729e3 to your computer and use it in GitHub Desktop.

Select an option

Save pap-12/c7275def761bc9d81e05cb980c3729e3 to your computer and use it in GitHub Desktop.
inclusion manual

Terragrunt Project Template

When asked to scaffold a new Terragrunt project, copy the structure from ~/templates/terragrunt/ into the current workspace.

Template Structure

project.hcl              # Project-level Terragrunt config
root.hcl                 # Root Terragrunt config
mise.toml                # Tool version management
README.md

docs/
  kiro-capabilities.md

iam-roles/
  terragrunt-inline-policy.json
  execution-role-*.json.tpl
  README.md

live/
  development/
    account.hcl
    README.md
    us-east-1/
      env.hcl
      budget/terragrunt.hcl
  production/
    account.hcl
    README.md
    us-east-1/
      env.hcl
      budget/terragrunt.hcl
    eu-central-1/
      env.hcl
      vpc/terragrunt.hcl
      ec2/terragrunt.hcl
      s3/terragrunt.hcl

modules/
  budget/
    main.tf, variables.tf, outputs.tf, versions.tf, README.md
  vpc/
    main.tf, variables.tf, outputs.tf, versions.tf, README.md

Conventions

  • Each environment lives under live/{environment}/{region}/
  • Each environment has an account.hcl and each region has an env.hcl
  • Reusable Terraform modules go in modules/
  • Each module has: main.tf, variables.tf, outputs.tf, versions.tf, README.md
  • IAM role templates use .json.tpl extension
  • Infrastructure resources get their own folder with a terragrunt.hcl inside
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment