π³ Container image for an all-in-one DevOps environment with popular tools like Ansible, Terraform, kubectl, AWS CLI, Azure CLI, Git, Python and more...
- 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.
mkdir -p $HOME/.dtc # Skip this step if you already created the configuration folder before
docker pull tungbq/devops-toolkit:latest
docker -it run --rm --name devops-toolkit-demo1 \
-v $HOME/.dtc:/dtc \
--network host \
tungbq/devops-toolkit:latest
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
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
.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).
Optionally, you can use the provided execution script which simplifies the setup, execution, and management of the DevOps Toolkit.
curl -o devops-toolkit-cli https://raw.githubusercontent.com/tungbq/devops-toolkit/main/devops-toolkit-cli
chmod +x devops-toolkit-cli
sudo mv devops-toolkit-cli /usr/local/bin/
Navigate to your workspace folder, then:
- Initialize the docker image, container and configuration directory:
devops-toolkit-cli init my_toolkit_01
# Run 'devops-toolkit-cli init my_toolkit_01 vX.Y.Z' if you want to use specific version.
# E.g: devops-toolkit-cli init my_toolkit_01 1.0.2
- Start a shell in new container:
devops-toolkit-cli run my_toolkit_01
- Execute a command in the container:
devops-toolkit-cli run my_toolkit_01 ls -la
- Access the shell:
devops-toolkit-cli shell my_toolkit_01
- Remove container if it's not used anymore
devops-toolkit-cli cleanup my_toolkit_01
# Run 'devops-toolkit-cli list' to list all available containers
# Run 'devops-toolkit-cli cleanup --all' to cleanup all devops-toolkit containers
- For more commands, run
devops-toolkit-cli help
. - For detailed
devops-toolkit-cli
document and advanced usage, see: docs/usage/devops_toolkit_cli
We use the following versioning scheme:
- Repository Tags:
vX.Y.Z
(e.g.,v1.2.3
) - Docker Tags:
X.Y.Z
orlatest
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.
Explore the comprehensive guide below to gain insight into the detailed utilization of every tool within the toolkit.
- For detailed instructions on using specific tools, refer to: DevOps toolkit specific tool user guide
- For instructions on common run modes, visit DevOps toolkit common run mode
- Checkout the Demo code and instruction here.
Built on ubuntu:22.04
base image
Name | Version | Release | Usage |
---|---|---|---|
Python | PYTHON_VERSION=3.11 | Check | python_usage |
Ansible | ANSIBLE_VERSION=2.17.5 | Check | ansible_usage |
Terraform | TERRAFORM_VERSION=1.9.8 | Check | terraform_usage |
Kubectl | KUBECTL_VERSION=1.31.1 | Check | kubectl_usage |
Helm | HELM_VERSION=3.16.2 | Check | helm_usage |
AwsCLI | AWSCLI_VERSION=2.18.10 | Check | awscli_usage |
AzureCLI | AZURECLI_VERSION=2.65.0 | Check | azurecli_usage |
PowerShell | PS_VERSION=7.4.5 | Check | TODO |
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! π