Skip to content

alpine-docker/terragrunt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

105 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

enhanced tool to manage terraform deployment with terragrunt

If enjoy, please consider buying me a coffee.

Auto-trigger docker build for terragrunt when new terraform version is related.

DockerHub Badge

Notes

  • Never use tag latest in prod environment.
  • Multi-Arch supported (linux/amd64, linux/arm64)
  • For examples, below tags are supported now:
    • alpine/terragrunt:latest
    • alpine/terragrunt:1.8.4 (terraform version)
    • alpine/terragrunt:tf1.8.4 (terraform version)
    • (TODO, not ready yet) alpine/terragrunt:otf1.7.1 (opentofu version)

Tools included in this container

  • terraform - terraform version is this docker image's tag
  • terragrunt - The latest terragrunt version when running the build.
  • boilerplate - The latest boilerplate version when running the build.
  • terraform-docs - The latest terraform-docs version when running the build.
  • (TODO, not ready yet) OpenTofu - the latest opentofu version when running the build

Repo:

https://github.com/alpine-docker/terragrunt

Daily build logs:

https://github.com/alpine-docker/terragrunt/actions

Docker image tags:

https://hub.docker.com/r/alpine/terragrunt/tags/

Multiple platforms supported

  • linux/arm64
  • linux/amd64

Why we need it

This is mostly used during Continuous Integration and Continuous Delivery (CI/CD), or as a component of an automated build and deployment process.

Usage:

# (1) must mount the local folder to /apps in container.
# (2) must mount the aws credentials and ssh config folder in container.
$ docker run -ti --rm -v $HOME/.aws:/root/.aws -v ${HOME}/.ssh:/root/.ssh -v `pwd`:/apps alpine/terragrunt:0.12.16 bash
#
# common terraform steps
$ terraform init
$ terraform fmt
$ terraform validate
$ terraform plan
$ terraform apply

# common opentofu steps
$ tofu init
$ tofu fmt
$ tofu validate
$ tofu plan
$ tofu apply

# common terragrunt steps
# cd to terragrunt configuration directory, if required.
# Terraform and OpenTofu Version Compatibility Table
# https://terragrunt.gruntwork.io/docs/getting-started/supported-versions/
$ terragrunt hclfmt
$ terragrunt run-all plan
$ terragrunt run-all apply

The Processes to build this image

  • Enable CI cronjob on this repo to run build weekly on master branch
  • Check if there are new versions announced via Terraform Github REST API
  • Match the exist docker image tags via Hub.docker.io REST API
  • If not matched, build the image with latest terraform version as tag and push to hub.docker.com
  • Always install latest version of terragrunt

About

Auto-trigger docker build for terragrunt when new terraform version released

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors