Introducing the new feature of DevOps Toolkit: Configuration Reusability ๐Ÿš€

Tung Leo - Jul 9 - - Dev Community

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.
You could find my previous post for this tool here

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...

Announcing Configuration Reusability

In our latest release, we're excited to introduce a powerful new feature: Configuration Reusability. This feature allows you to mount a configuration folder from the host to the container, enabling the reuse of configurations within the container, such as AWS and Azure login sessions. This enhancement simplifies the workflow, ensuring that you don't have to log in repeatedly and can maintain a consistent environment across multiple runs.

Key Updates in This Release ๐Ÿš€

  • Core Updates:
    • Updated tool versions
  • New Features:
    • Enabled toolkit container configuration reusable
  • Improvements:
    • Installed SSH client
    • Ansible documentation improvement and minor image name change
    • Updated deploy-docker-image-release.yml to replace deprecated set-output
    • Updated instructions
    • Adjusted note in quick start section

You can checkout all devops-toolkit releases and new features here.

Quick Start Guide ๐Ÿ“–

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.

Step 1: Pull the Official Image from Docker Hub

DockerHub image: tungbq/devops-toolkit

docker pull tungbq/devops-toolkit:latest
Enter fullscreen mode Exit fullscreen mode

Step 2: Start and Explore the Toolkit Container

To start using the toolkit, run the following command:

mkdir -p ~/.devops-toolkit-config
docker run --network host -it --rm -v ~/.devops-toolkit-config:/config tungbq/devops-toolkit:latest
Enter fullscreen mode Exit fullscreen mode

This command mounts your host's .devops-toolkit-config directory to the container, allowing the reuse of configurations.

Step 3: Work on the Toolkit Container

Once inside the container, you can try login to AWS and/or Azure with aws or az CLI:

root@docker-desktop:~# aws configure
root@docker-desktop:~# az login --use-device-code
Enter fullscreen mode Exit fullscreen mode

Exit the container and move to the next step

Step 4: Verify the Configuration Reusability

Run the new container, you can find your previous configurations without login or configure again:

docker run --network host -it --rm -v ~/.devops-toolkit-config:/config tungbq/devops-toolkit:latest
root@docker-desktop:~# aws configure list
root@docker-desktop:~# az account show
Enter fullscreen mode Exit fullscreen mode

Similar feature will happen with other tools like Ansible/Terraform/...

Conclusion

In summary, the DevOps Toolkit simplifies the complexities of managing multiple DevOps tools and keeping them updated, in this new Configuration Reusability feature it will help us more. If you're interested, give it a try, share your feedback, and let's continue improving together. Happy coding! ๐Ÿ’–

. . . . . . . . . . . . . . . . . . .