DEV Community

dev-dma
dev-dma

Posted on

I Built a Tool That Does All My DevOps Work For Me.

Hi, I’m Adedamola Ayinuola, and I just finished one of the most challenging but rewarding projects I’ve done so far. Imagine you’re building a house. Normally, you have to manually draw the floor plan, install the electricity, set up the plumbing, and test everything yourself. What if you could just write one simple note saying “I want a 2-bedroom house with good security,” and a smart assistant automatically builds everything correctly, tests it, and even warns you if something is unsafe? That's exactly what I built — SwiftDeploy.

The Problem I Wanted to Solve In DevOps- We spend a lot of time writing and fixing configuration files (Docker, Nginx, etc.). One small mistake and the whole application can break. I wanted to create a tool that makes this much simpler and safer. So I built SwiftDeploy — a smart command-line tool that turns one simple file (manifest.yaml) into a complete, running, and monitored web application.

How It Works (Simple Analogy)- Think of SwiftDeploy like a smart personal chef: You give the chef a recipe card (manifest.yaml)
The chef automatically prepares the kitchen (Docker Compose), sets up the waiter (Nginx), adds security guards (OPA Policy), and even keeps a diary of everything that happens.
If the ingredients look bad (high CPU usage or too many errors), the chef refuses to cook until it’s safe.

The Coolest Features -

  • ./swiftdeploy deploy → Starts the entire application with one

    command

  • ./swiftdeploy promote canary → Switches to a test version safely

  • ./swiftdeploy status → Shows a live dashboard (like a heart monitor for my app)

  • ./swiftdeploy audit → Generates a beautiful report of everything that happened

It even has a “chaos mode” where I can intentionally make the app slow or return errors to test how strong it is!

The Hard Parts (Being Honest)
This project was not easy.
I spent many hours fighting with: Docker not working properly on WSL
Virtual environments and missing packages
Making sure the app restarts correctly when changing modes
Understanding how to use Open Policy Agent (OPA) for rules

But every time I fixed one problem, I learned something valuable.

What I Learned.

Automation is incredibly powerful
Safety checks (policy enforcement) are more important than I thought
Writing clean, maintainable code matters a lot in real projects
The best tools are the ones that hide complexity from the user
Most importantly, I learned that I really enjoy building tools that make other developers’ lives easier.

Try It Yourself
The full code is open on GitHub:
https://github.com/dev-dma/swiftdeploy4b
You can try it with these simple commands:

./swiftdeploy deploy
./swiftdeploy promote canary
./swiftdeploy status

Final Thoughts -
This project pushed me far outside my comfort zone, but I’m really proud of what I built.
SwiftDeploy started as a task but became something I would actually use in real life. I'm excited to keep improving it and learn more about DevOps, automation, and building useful tools. Thank you for reading my journey!
I’d love to hear your thoughts or questions.

Top comments (0)