Building an End-to-End GitOps CI/CD Pipeline: From Docker to Flux

A detailed account of building a production-ready GitOps workflow - from containerizing apps to automated deployments with Flux CD, including all the debugging, fixes, and lessons learned. This article documents the complete journey of setting up an automated GitOps pipeline, including every roadblock encountered and how they were resolved. Table of Contents Introduction The Architecture Phase 1: App Containerization Phase 2: Setting Up the GitOps Repo Phase 3: Building the CI/CD Pipeline Phase 4: Debugging and Fixing Phase 5: Flux CD Integration The Complete Workflow Lessons Learned Resources Introduction Modern app deployment requires automation, reliability, and declarative config. GitOps provides all three by treating Git as the single source of truth for infrastructure and app state. This post documents building a complete GitOps pipeline from scratch for a Python study app. ...

November 28, 2025 · Ciarán Donegan

Building a Portable DevContainer Environment: A Complete Journey

Tools used with DevContainers such as, Mise, Chezmoi, and Neovim - including all the troubleshooting, mistakes, and lessons learned along the way. This article documents my journey setting up a portable development environment. Personal references (usernames, repo names, paths) have been generalized to make the content applicable to any reader. Table of Contents Introduction The Initial Goal The Technology Stack The Setup Process Troubleshooting Chronicles Integration with Obsidian Making It Portable Final Architecture Lessons Learned Resources Introduction I wanted to build a portable development environment that I could replicate across any project or machine. What seemed like a simple container setup turned into a deep dive into dotfiles management, tool installation strategies, and the intricacies of containerized development environments. ...

October 8, 2025 · Ciarán Donegan