(Based off of the awesome work at https://github.com/alpine-docker/terragrunt, Thank you guys!)
https://github.com/abiydv/terragrunt
- Latest Terraform
- Latest Terragrunt
- Python 3.9 (Alpine based)
The Terraform AWS Lambda module needs python
to be available to build the deployment packages. Most of the other lean terragrunt/terraform images don't provide python out of the box.
latest
tag will always have the latest Terraform and Terragrunt version. Terraform release tag is carried over as the image tag.
Full list - https://hub.docker.com/r/abiydv/terragrunt/tags
Terraform and Terragrunt version updates are automatic. Python version, however, is pinned to 3.9-alpine
at the moment. build.sh
needs an update to use a different python
version.
GitHub actions workflow runs every Monday at 00:00 hrs. If there is a new Terragrunt version available, a new build is kicked off. This creates a new image with the latest Terraform version as its tag.
Past build logs are available under the Actions tab (upto the standard GitHub retention limit, of course).
A simple example
docker --rm -v `pwd`:/apps abiydv/terragrunt:latest terragrunt run-all init
Notes -
- You can also mount your
.ssh
directory to/root/.ssh
in case you are using modules from any private repo. - Not using the
-d
flag allows you to inspect the terragrunt output on the console. terragrunt run-all init
command above is just an example, it can be replaced by the usual terraform/terragrunt commands as required.