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
- Image on Dockerhub: tungbq/devops-toolkit:latest
- 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 automated 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 docker document to get started.
Quick start π₯
docker run --network host -it --rm tungbq/devops-toolkit:latest
Demo πΊ
Check out the full sample and instruction at samples
docker run --network host --rm tungbq/devops-toolkit:latest samples/run_sample.sh
Getting started π
1-Pull the official image from Docker Hub
DockerHub image: tungbq/devops-toolkit
docker pull tungbq/devops-toolkit:latest
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
docker run --network host -it --rm tungbq/devops-toolkit:latest
- Now we are in the docker container terminal, let's explore it
root@docker-desktop:~# python3 --version
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! π