Terraform and Azure CLI Docker image
π¦ Supported tags and respective Dockerfile links
Available image tags can be found on the Docker Hub registry: zenika/terraform-azure-cli
Supported versions are listed in the supported_versions.json
file in project root folder.
The following image tag strategy is applied:
zenika/terraform-azure-cli:latest
- build from master- Included CLI versions are the newest in the
supported_versions.json
file.
- Included CLI versions are the newest in the
zenika/terraform-azure-cli:release-S.T_terraform-UU.VV.WW_azcli-XX.YY.ZZ
- build from releasesrelease-S.T
is the release tagterraform-UU.VV.WWW
is the included Terraform CLI versionazcli-XX.YY.ZZ
is the included Azure CLI version
Please report to the releases page for the changelogs.
Any other tags are not supported even if available.
π‘ Motivation
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 either for development or as a base image as you see fits.
π§ What's inside ?
- Azure CLI:
- Terraform CLI:
- Git
- Python 3
- This image use a non root user with a GID and UID of 1001 to conform with docker security best practices.
π Usage
π Launch the CLI
Simply launch the container and use the CLI as you would on any other platform, for instance using the latest image:
docker container run -it --rm --mount type=bind,source="$(pwd)",target=/workspace zenika/terraform-azure-cli:latest
The
--rm
flag will completely destroy the container and its data on exit.
βοΈ Build the image
You can build the image locally directly from the Dockerfile, using the build script.
It will :
- Lint the Dockerfile with Hadolint;
- Build and tag the image
zenika/terraform-azure-cli:dev
; - Execute container structure tests on the image.
# launch dev script using latest supported versions for both Azure and Terraform CLI
./dev.sh
Optionally, it is possible to choose the tools desired versions:
# Set desired tool versions
AZURE_CLI_VERSION=2.24.2
TERRAFORM_VERSION=0.15.5
# launch dev script with parameters
./dev.sh $AZURE_CLI_VERSION $TERRAFORM_VERSION
π Roadmap & Contributions
Please refer to the github project to track new features.
Do not hesitate to contribute by filling an issue or opening a PR !
β¬οΈ Dependencies upgrades checklist
- Supported versions:
- check Azure CLI version on the project release page
- check Terraform CLI version (keep all minor versions from 0.11) available on the project release page
- Dockerfile:
- check base image version on DockerHub
- check OS package versions on Debian package repository
- Available Git versions on the Debian Packages repository
- Available Python versions on the Debian packages repository
- same process for all other packages
- check Pip package versions on pypi
- Github actions:
- check runner version
- check each action release versions
- Build scripts:
- check container tags:
- Readme:
- update version in code exemples
π© Similar repositories
- For AWS: zenika-open-source/terraform-aws-cli
π License
This project is under the Apache License 2.0