Background
In the world of DevOps, managing multiple tools on your computer can be quite a challenge. I know this struggle firsthand. Setting up each tool, ensuring they work together, and keeping them updated is a time-consuming and often frustrating process.
That’s why I created the DevOps Toolkit to solve these problems.
It’s built on top of the docker platform. I wanted to make it easier for developers and operations teams to get started with DevOps without the headaches of tool compatibility, setup, maintenance, and keeping everything up to date.
The DevOps Toolkit
GitHub repository: tungbq/devops-toolkit
Description: DevOps toolkit is a 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…
Key features
Pre-installed Tools: Includes a variety of essential tools such as git, python, ansible, terraform, kubectl, helm, awscli, azurecli, etc.
Continuous Integration: Utilizes full CI/CD for deployment to Docker Hub using GitHub Actions.
Documentation: Provides detailed documentation for each tool included.
Regular Updates: Weekly checks and updates for core tools ensure the toolkit’s reliability and security.
Sample code: Includes sample code demonstrating the usage of various tools available in the toolkit.
Support for Build Variants: Enables users to customize the toolkit by building it with their preferred versions of each tool.
Prerequisites 🔓
Before you begin, ensure that you have Docker installed. It’s also helpful to have a basic understanding of Docker concepts.
If you are new to docker, don’t worry, you can refer to this document to get started.
Quick start 🔥
Demo 📺
Check out the full sample and instruction at samples
Getting started 📖
1-Pull the official image from Docker Hub
DockerHub image: tungbq/devops-toolkit
2-Build your own image (Optional)
Skip this step if you use the image from Dockerhub
If you prefer to build your own image from the source code, refer to the build_toolkit_image instructions.
We can customize the toolkit by building it with our preferred versions of each tool.
3-Start and explore the toolkit container
Once you have the image ready, you can start using the toolkit with the following commands
Start devops-toolkit container
Now we are in the docker container terminal, let’s explore it
Python 3.12.2
root@docker-desktop:~# terraform –version
Terraform v1.7.5
on linux_amd64
root@docker-desktop:~# kubectl version
Client Version: v1.29.3
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
# … more commands as your needed
User guide 📖
Explore the comprehensive guide below to gain insight into the detailed utilization of every tool within the toolkit
The DevOps Toolkit Core 🧰
Built on ubuntu:22.04 base image
Name
Version
Release
Usage
Python
PYTHON_VERSION=3.12.2
Check
python_usage
Ansible
ANSIBLE_VERSION=2.16.4
Check
ansible_usage
Terraform
TERRAFORM_VERSION=1.7.5
Check
terraform_usage
Kubectl
KUBECTL_VERSION=1.29.3
Check
kubectl_usage
Helm
HELM_VERSION=3.14.3
Check
helm_usage
AwsCLI
AWSCLI_VERSION=2.15.30
Check
awscli_usage
AzureCLI
AZURECLI_VERSION=2.58.0
Check
azurecli_usage
NOTE: This is the latest version as of the time I write this blog post. The DevOps Toolkit repository has an automated CI pipeline that checks and updates these tools weekly to the latest versions.
And more upcoming content…⏩ you can follow this repository to get more up-to-dated features
Conclusion
In summary, the DevOps Toolkit simplifies the complexities of managing multiple DevOps tools and keeping them updated. If you’re interested, give it a try, share your feedback, and let’s continue improving together. Happy coding! 💖