Sign inSign up

tungbq/devops-toolkit

By tungbq

•Updated 2 months ago

All-in-one DevOps toolkit image for Ansible, Terraform, kubectl, AWS CLI, Azure CLI, Git, and more.

Image
Developer tools
Operating systems
3

6.2K

tungbq/devops-toolkit repository overview

devops-toolkit

⁠DevOps Toolkit

🐳 Security-first container image for an all-in-one DevOps environment with popular tools like Ansible, Terraform, kubectl, Helm, AWS CLI, Azure CLI, Git, Python, and more... Pull it and work on your tasks.

last commit devops-toolkit release Docker release Vulnerability scan tungbq/devops-toolkit GitHub Repo stars License

⁠Key Features

  • Comprehensive Toolset: Pre-installed with tools like Git, Python, Ansible, Terraform, kubectl, Helm, GitHub CLI, AWS CLI, Azure CLI, Google Cloud CLI, and more.
  • Easy Integration: Use it directly or customize it with your preferred versions.
  • Efficient Updates: Tool versions are checked automatically and verified against the real installed binaries before every release, so published images track current, patched versions rather than drifting silently.
  • Security-First: Every image is scanned for CRITICAL/HIGH vulnerabilities before merge and before publish, builds with fixable findings are blocked, and a CycloneDX SBOM is generated for every build — see Security 🔒⁠ below.
  • Configuration Reusability: Mounts host config folders for seamless reuse across sessions.

⁠Getting Started

The commands below are written for a Bash host shell. Running from a Windows PowerShell host? See windows_usage⁠ for the PowerShell-syntax equivalents.

⁠1. Quick Start
mkdir -p $HOME/.dtc # Skip this step if you already created the configuration folder before
docker pull tungbq/devops-toolkit:latest
docker run -it --rm --name devops-toolkit-demo1 \
    -v $HOME/.dtc:/dtc \
    --network host  \
    tungbq/devops-toolkit:latest
⁠2. Run with custom tool config from host (.dtc)

Mount current directory and start the toolkit

docker run -it --name devops-toolkit-demo2 \
    --volume "$PWD:$PWD" \
    --volume "$HOME/.dtc:/dtc" \
    --volume "$HOME/.ssh:/root/.ssh" \
    --workdir "$PWD" \
    --network host \
    tungbq/devops-toolkit:latest

# Adjust the docker run command base on your use cases
⁠3. Run with tool config from host
docker run -it --name devops-toolkit-demo3 \
    --volume "$HOME/.aws:/root/.aws" \
    --volume "$HOME/.azure:/root/.azure" \
    --volume "$HOME/.kube:/root/.kube" \
    --volume "$HOME/.terraform.d:/root/.terraform.d" \
    --volume "$HOME/.config/helm:/root/.config/helm" \
    --volume "$HOME/.ansible:/root/.ansible" \
    --volume "$HOME/.gitconfig:/root/.gitconfig" \
    --volume "$HOME/.ssh:/root/.ssh" \
    --volume "$PWD:$PWD" \
    --workdir "$PWD" \
    --network host \
    tungbq/devops-toolkit:latest

# Adjust the docker run command base on your use cases
⁠4. Note
  • .dtc stands for DevOps Toolkit Configuration
  • You can replace $HOME/.dtc with any desired folder path on your VM.
  • Remove the -v $HOME/.dtc:/dtc option if you do not wish to store configurations on the host (not recommended for configuration reuse).

⁠Versioning

We use the following versioning scheme:

  • Repository Tags: vX.Y.Z (e.g., v1.2.3)
  • Docker Tags: X.Y.Z or latest for the most recent version.

You can pull specific versions from Docker Hub using:

docker pull tungbq/devops-toolkit:1.2.3
docker pull tungbq/devops-toolkit:latest

For more details on versioning, check the release notes⁠.

⁠User Guide 📖

Explore the comprehensive guide below to gain insight into the detailed utilization of every tool within the toolkit.

⁠Demo 📺

  • Checkout the Demo code and instruction here⁠.

⁠The DevOps Toolkit Core 🧰

Built on ubuntu:24.04 base image

NameVersionReleaseUsage
PythonPYTHON_VERSION=3.12Check⁠python_usage⁠
AnsibleANSIBLE_VERSION=2.21.1Check⁠ansible_usage⁠
TerraformTERRAFORM_VERSION=1.15.8Check⁠terraform_usage⁠
KubectlKUBECTL_VERSION=1.36.2Check⁠kubectl_usage⁠
HelmHELM_VERSION=3.21.3Check⁠helm_usage⁠
GitHub CLIGH_VERSION=2.96.0Check⁠githubcli_usage⁠
AwsCLIAWSCLI_VERSION=2.35.21Check⁠awscli_usage⁠
AzureCLIAZURECLI_VERSION=2.88.0Check⁠azurecli_usage⁠
GCloudCLIGCLOUD_VERSION=575.0.1Check⁠gcloudcli_usage⁠
PowerShellPS_VERSION=7.6.3Check⁠powershell_usage⁠

And more tools to be implemented...

⁠Security 🔒

Whichever tag you pull — latest or a pinned vX.Y.Z release — you're getting a specific, reproducible set of tool versions, not a silently drifting image. Every version we ship is built from the exact tool versions recorded in toolkit_info.json⁠, verified against the real installed binaries, and scanned for vulnerabilities before it's published, so you can standardize on the toolkit without re-verifying it yourself each time.

  • Every image is scanned for CRITICAL/HIGH vulnerabilities with Trivy⁠ before it is merged and before it is published to Docker Hub — builds with fixable findings are blocked.
  • The published latest image is re-scanned on a recurring schedule, and all scan results are published to this repo's Security tab⁠.
  • A CycloneDX SBOM is generated for every main and release build.
  • See SECURITY.md⁠ for the full policy and how to report a vulnerability.

⁠Contributing

  • See: CONTRIBUTING.md⁠
  • Looking for the issue to work on? Check the list of our open issues good first issue⁠
  • Feel free to open a new issue if you encounter the toolkit bug or want to request more content about DevOps toolkit
  • Submit a new issue⁠ (🐛) if you encounter the bug/error when using this toolkit

⁠License 📄

Licensed under the Apache License, Version 2.0⁠. You're free to use, modify, and distribute this project, including commercially, provided you retain the copyright notice and state significant changes. The license also grants an explicit patent license from contributors and includes the standard "AS IS" warranty disclaimer.

⁠Hit the Star! ⭐

  • If you find this repository helpful, kindly consider showing your appreciation by giving it a star ⭐ Thanks! 💖

Tag summary

Content type

Image

Digest

sha256:63a418188…

Size

552.2 MB

Last updated

2 months ago

docker pull tungbq/devops-toolkit