Dockerfile is based on two images made by cytopia.
Those two images are docker-terragrunt and docker-terragrunt-fmt.
Some changes have been applied to add more software to the image - list below.
- awscli
- For interacting with AWS infrastructure, e.g. for publishing Lambda packages to S3.
- docker
- For running another container, e.g. for deploying Lambdas with LambCI's docker-lambda.
- scenery
- For better coloring and visualization of
terraform plan
outputs.
- For better coloring and visualization of
- terraform
- For managing IaC. Dependency for Terragrunt.
- terragrunt
- For managing IaC. Wrapper over Terraform.
- bash
- For color output from
terraform
andterragrunt
. Assures also access to some builtins.
- For color output from
- curl
- For interacting with ElasticSearch and Kibana.
- git
- For interacting with Github repositories.
- make
- For using
Makefile
instead of scripts in deployment process.
- For using
- openssl
- For calculating BASE64SHA256 hash of Lambda packages. Assures updating Lambdas only when package hash changed.
- openssh-client
- For access private Git repository from Docker container for terraform modules.
- python3
- For running more complex scripts during deployment process.
- zip
- For creating packages for Lambdas.
- ply
- Dependency for pyhcl
- pyhcl
- For easily parsing of any file in HCL format, whether it's
.hcl
,.tfvars
or.tf
.
- For easily parsing of any file in HCL format, whether it's
- format-hcl.sh
- For formatting HCL files into format suggested by Hashicorp
- Using cytopia's terragrunt-fmt.sh plus additionally calling
terraform fmt