We are the Slalom Build Platform Engineering capability, and these are our container images with the tools we use for building, maintaining and securing infrastructure as code.
There are two different flavors, depending on your needs; standard and full. Standard contains most of the tools required for IaC projects, while Full contains additional languages and tools, such as Node, Go and Python.
Images are updated weekly (at least), and more frequently when tooling updates occur.
To use an image in your pipeline, pull from one of these URLs:
ghcr.io/slalombuild/pe-toolkit-standard-alpine:latest
ghcr.io/slalombuild/pe-toolkit-standard-ubuntu:latest
ghcr.io/slalombuild/pe-toolkit-full-alpine:latest
ghcr.io/slalombuild/pe-toolkit-full-ubuntu:latest
(All images are listed here)
Or to use an image locally (assuming you already have docker setup), run:
docker pull ghcr.io/slalombuild/pe-toolkit-standard-ubuntu:latest
Standard | Full |
---|---|
terraform |
terraform |
atmos |
atmos |
curl |
curl |
bash |
bash |
jq |
jq |
yq |
yq |
figlet |
figlet |
unzip |
unzip |
zip |
zip |
git |
git |
shellcheck |
shellcheck |
nano |
nano |
tflint |
tflint |
tfsec |
tfsec |
opa |
opa |
hadolint |
|
terraform-docs |
|
node and npm |
|
python and pip |
|
go |
Sure, go ahead and submit a PR. Some considerations when adding a tool -
- Should it be in Standard and/or Full?
- Tools should be added to all versions of the base OS. I.e. if it's added to
full-alpine
, it should also be added tofull-ubuntu
. - If the tool significantly increases the image size, is it something we want in our toolkit, or something we'd run in a pipeline using an official image for the tool?
- Standard is intended to be lightweight, mainly used in pipelines, and Full is intended for development environments
- Attempt to build the problematic image. Change to the relevant folder containing a
Dockerfile
underimages
and rundocker build -t test:latest .
- View the output for any errors.
- If the container image builds successfully, start a shell in the container using
and perform further debugging steps.
docker run --rm -it --entrypoint /bin/bash test
We use the latest version of each tool at the time of building of the image.
We offer two options (currently); Alpine (latest) and Ubuntu (latest).
amd64
and arm64
. If there's an architecture you'd like an image for, please submit a PR.
If you'd like a tool added to the images, a different base OS, or a different architecture, please submit a PR. For bugs/security issues, please create a new issue and follow the instructions. Thanks.