Skip to content

Latest commit

 

History

History
131 lines (97 loc) · 6.68 KB

README.md

File metadata and controls

131 lines (97 loc) · 6.68 KB

devops-toolkit

DevOps Toolkit

🐳 Container image for an all-in-one DevOps environment with popular tools like Ansible, Terraform, kubectl, AWS CLI, Azure CLI, Git, Python and more...

last commit devops-toolkit release Docker main tungbq/devops-toolkit GitHub Repo stars

Key Features

  • Comprehensive Toolset: Pre-installed with tools like Git, Python, Ansible, Terraform, kubectl, Helm, AWS CLI, Azure CLI, and more.
  • Easy Integration: Use it directly or customize it with your preferred versions.
  • Efficient Updates: Weekly updates ensure the latest versions and security patches.
  • Configuration Reusability: Mounts host config folders for seamless reuse across sessions.

Getting Started

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:22.04 base image

Name Version Release Usage
Python PYTHON_VERSION=3.11 Check python_usage
Ansible ANSIBLE_VERSION=2.18.2 Check ansible_usage
Terraform TERRAFORM_VERSION=1.10.5 Check terraform_usage
Kubectl KUBECTL_VERSION=1.32.1 Check kubectl_usage
Helm HELM_VERSION=3.17.0 Check helm_usage
AwsCLI AWSCLI_VERSION=2.23.11 Check awscli_usage
AzureCLI AZURECLI_VERSION=2.68.0 Check azurecli_usage
PowerShell PS_VERSION=7.5.0 Check TODO

And more tools to be implemented...

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

Hit the Star! ⭐

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