π³ Container image for an all-in-one DevOps environment with popular tools like Ansible, Terraform, kubectl, AWS CLI, Azure CLI, Git, Python and more...
- 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.
Before you begin, ensure that you have Docker installed. It's also helpful to have a basic understanding of Docker concepts.
Below is the versioning strategy for the repository and DockerHub:
- Tagging format:
- Repository:
vX.Y.Z
, for example:v1.2.3
- DockerHub:
X.Y.Z
, for example:1.2.3
. (Usage:docker pull tungbq/devops-toolkit:1.2.3
)
- Repository:
- Tagging description:
- Specific tag (e.g., v0.1.0, v0.2.3): Contains the latest tooling version and repository features at the time this repository is tagged.
- In addition to that, we offer the latest tag on DockerHub (latest): Contains the latest tooling version and repository features inside the toolkit, which will be built and updated on a weekly basis.
NOTE: In the following section, we use the latest tag in the documentation, but you can specify your desired tag based on your needs.
# Use latest tag
docker run --network host -it --rm tungbq/devops-toolkit:latest
# Use specific tag
docker run --network host -it --rm tungbq/devops-toolkit:0.1.0
Check out the full sample and instruction at samples
docker run --network host --rm tungbq/devops-toolkit:latest samples/run_sample.sh
DockerHub image: tungbq/devops-toolkit:latest
docker pull tungbq/devops-toolkit:latest
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.
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 command as your needed
Explore the comprehensive guide below to gain insight into the detailed utilization of every tool within the toolkit
Built on ubuntu:22.04
base image
Name | Version | Release | Usage |
---|---|---|---|
Python | PYTHON_VERSION=3.11 | Check | python_usage |
Ansible | ANSIBLE_VERSION=2.17.0 | Check | ansible_usage |
Terraform | TERRAFORM_VERSION=1.8.5 | Check | terraform_usage |
Kubectl | KUBECTL_VERSION=1.30.1 | Check | kubectl_usage |
Helm | HELM_VERSION=3.15.1 | Check | helm_usage |
AwsCLI | AWSCLI_VERSION=2.16.4 | Check | awscli_usage |
AzureCLI | AZURECLI_VERSION=2.61.0 | Check | azurecli_usage |
And more tools to be implemented...
- 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
- If you find this repository helpful, kindly consider showing your appreciation by giving it a star β Thanks! π