- A GitHub repository with valid Terragrunt code
- Your cloud provider credentials:
- For AWS: Hashicorp’s AWS tutorial
- For GCP: Hashicorp’s GCP tutorial
- For Azure: Hashicorp’s Azure tutorial
1
Create your Digger account
Head to ui.digger.dev and sign up using your preferred method.You should see an empty dashboard after you sign up.
2
Install the Digger GitHub App
Install the Digger GitHub App into your repository.
Digger GitHub App does not need access to your cloud account, it just starts jobs in your CI. All sensitive data stays in your CI job.You can also self-host Digger orchestrator with a private GiHub app and issue your own token
3
Create Action Secrets with cloud credentials
In GitHub repository settings, go to Secrets and Variables - Actions. Create the following secrets:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
4
Create digger.yml
Terragrunt projects can be configured in two ways:This approach automatically discovers all Terragrunt modules under each directory and creates projects for them. Digger will also handle dependencies between modules.
Option A: Individual projects (for smaller setups)
If you have a few Terragrunt modules, you can list them individually:Option B: Generated projects (recommended for larger setups)
For Terragrunt monorepos with many modules, use the blocks syntax to automatically generate projects:For more advanced configurations and performance optimization for large monorepos, see Using Terragrunt and Generate Projects.
5
Create Github Actions workflow file
Place it at
.github/workflows/digger_workflow.yml
(name is important!)Notice that we use
setup-terragrunt: true
instead of setup-terraform
. Terragrunt will handle the Terraform binary installation internally.6
Create a PR to verify that it works
Terragrunt will run an existing plan against your code.Make any change to your Terragrunt code e.g. add a blank line. An action run should start (you can see log output in Actions). After some time you should see output of Terragrunt Plan added as a comment to your PR.Then you can add a comment like
digger apply
and shortly after apply output will be added as comment too.Demo repositories
Important notes
SOPS integration
If you usesops_decrypt_file
in your terragrunt.hcl
, you need to handle the case when Digger generates projects in the backend. Use the DIGGER_GENERATE_PROJECT
environment variable:
Performance optimization
For very large Terragrunt monorepos, consider:- Using the blocks syntax to segment your repository
- Implementing config caching for faster PR processing
- Organizing modules by environment or provider to minimize traversal time