Sign inSign up

dtequipment/cloudtools

By dtequipment

Updated about 1 year ago

Debian based docker image containing terraform, aws-cli, kubectl and helm.

Image
Integration & delivery
Internet of things
Developer tools
0

2.6K

dtequipment/cloudtools repository overview

CloudTools Docker Image

Overview

This Docker image is based on Debian and includes a collection of essential tools frequently used in cloud deployment CI pipelines.

The image is updated weekly to ensure all tools are up-to-date, providing a reliable and consistent environment for your CI/CD workflows. Each tool's version is set as a label on the Docker image for easy reference and version management.

docker inspect --format='{{json .Config.Labels}}' dtequipment/cloudtools:latest | jq .
{
  "aws_cli_version": "2.17.11",
  "debian_version": "12.6",
  "helm_version": "v3.15.3+g3bb50bb",
  "kubectl_version": "v1.27.4",
  "terraform_version": "v1.9.2"
}

Tools

Main tools:

  • Terraform
  • AWS CLI
  • kubectl
  • Helm

Additional tools:

  • jq
  • curl
  • wget
  • gettext-base
  • bash
  • postgresql-client
  • openssl
  • zip
  • gnupg
  • gnupg2
  • procps
  • git
  • lsb-release

Dockerfile

Here is the Dockerfile used to build this image:

FROM debian:stable-slim

# Install dependencies
RUN apt-get update && \
  apt-get install -y jq curl wget gettext-base bash postgresql-client openssl zip gnupg gnupg2 procps git lsb-release && \
  rm -rf /var/lib/apt/lists/*

# Install AWS CLI
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
  && unzip awscliv2.zip \
  && ./aws/install

# Install terraform
RUN wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg \
  && echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/hashicorp.list \
  && apt update && apt install terraform

# Install kubectl
RUN curl -LO "https://dl.k8s.io/release/v1.27.4/bin/linux/amd64/kubectl" \
  && chmod +x kubectl \
  && mv kubectl /bin

# Install helm
RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 \
  && chmod 700 get_helm.sh \
  && ./get_helm.sh

ENV SHELL=/bin/bash

ENTRYPOINT ["/bin/bash"]
CMD [ "-c", "echo 'Hello, World!'"]

Usage

Pulling the Image

To pull the image from DockerHub, use the following command:

docker pull dtequipment/cloudtools
Running the Image

You can run the Docker container interactively or execute specific commands directly. Here are some examples:

Interactive Shell

To start an interactive shell:

docker run --rm -it dtequipment/cloudtools:latest
Executing Commands

To execute a specific command, such as formatting local terraform code by mounting a volume into the container:

docker run --rm --volume=./src:/src dtequipment/cloudtools:latest bash -c "terraform fmt --recursive /src"
Example CI/CD Pipeline Configuration

Here is an example of how you might use this Docker image in a GitLab CI/CD pipeline:

stages:
  - deploy

deploy:
  stage: deploy
  image: dtequipment/cloudtools:latest
  script:
    - terraform --version
    - aws --version
    - kubectl version --client
    - helm version

Maintenance

This image is maintained and updated weekly to ensure all tools are up-to-date.

Tag summary

Content type

Image

Digest

sha256:5ecc273bb

Size

328 MB

Last updated

about 1 year ago

docker pull dtequipment/cloudtools