Available image tags can be found on the Docker Hub registry: zenika/terraform-aws-cli
The following image tag strategy is applied:
zenika/terraform-aws-cli:latest
- build from master- Included CLI versions can be found in the Dockerfile
zenika/terraform-aws-cli:release-S.T_terraform-UU.VV.WW_awscli-XX.YY.ZZ
- build from releasesrelease-S.T
is the release tagterraform-UU.VV.WWW
is the Terraform version included in the imageawscli-XX.YY.ZZ
is the AWS CLI version included in the image
Please report to the releases page for the changelogs. Any other tags are not supported.
The goal is to create a minimalist and lightweight image with these tools in order to reduce network and storage impact.
This image gives you the flexibility to be used for development or as a base image as you see fits.
Tools included:
- AWS CLI
- Included version indicated in the image tag:
awscli-XX.YY.ZZ
- See available version on the project release page
- Included version indicated in the image tag:
- Terraform CLI
- Included version indicated in the image tag:
terraform-XX.YY.ZZ
- See available versions on the project release page
- Included version indicated in the image tag:
- Git for Terraform remote module usage, see available versions on the Debian Packages repository
- jq to process JSON returned by AWS, see available versions on the Debian Packages repository
This image uses a non-root user with a UID and GID of 1001 to conform with docker security best practices.
Set your AWS credentials (optional) and launch the container, for instance using the latest image:
echo AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY
echo AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
echo AWS_DEFAULT_REGION=YOUR_DEFAULT_REGION
docker container run -it --rm -e "AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}" -e "AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}" -e "AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}" -v ${PWD}:/workspace zenika/terraform-aws-cli:latest
The
--rm
flag will completely destroy the container and its data on exit.
You can build the image locally directly from the Dockerfiles, using the build script.
It will :
- Lint the Dockerfile with Hadolint;
- Build and tag the image
zenika/terraform-aws-cli:dev
; - Execute container structure tests on the image.
# launch build script
./dev-build.sh
Optionally, it is possible to choose the tools desired versions using Docker builds arguments:
Be aware that tests will fail and should be updated if you choose different CLI versions.
# Set tools desired versions
AWS_CLI_VERSION=1.18.189
TERRAFORM_VERSION=0.14.0
# launch the build script with parameters
./dev-build.sh $AWS_CLI_VERSION $TERRAFORM_VERSION
Do not hesitate to contribute by filling an issue or a PR !
This project is under the Apache License 2.0