TC-003: Ten Bugs Stood Between My Playbooks and a Public Repo
By the time TC-003 came around I’d already proven my Ansible playbooks could stand up a working Kubernetes cluster. One machine, one run, clean output. Figured that was the hard part done. TC-003 — my third test case for validating this automation across different hardware — was supposed to be the easy step before going public with the repo. Lenovo M920Q as the control plane, a Dell laptop joined as the worker, same playbooks that already worked once. Run it, confirm it still works, ship it. ...
I Moved My Homelab Across Town and Let Tailscale Handle the Network
Last weekend I moved apartments. Five Kubernetes nodes, a NAS, and a switch came with me. By the time I was done unpacking boxes, the cluster was already back online — and I barely had to touch the network configuration to make it happen. That wasn’t luck. Months ago, when I first built this cluster, I already knew a move was on the table at some point — nothing concrete, just the normal background awareness that apartments don’t last forever. So I made a deliberate call: route the whole cluster over Tailscale IPs instead of local network addresses. I figured if the day ever came, I didn’t want to be reconfiguring DHCP reservations and static routes while also carrying boxes down three flights of stairs. ...

From 10 Days to 30 Minutes: Why I Automated My Bare Metal Kubernetes Cluster
When people ask me what made me decide to automate my homelab cluster, they expect a story about frustration — some late night where everything broke and I snapped. That’s not what happened. The first time I built a bare metal Kubernetes cluster manually, it took me a week and countless hours. Manual steps, configuration files, troubleshooting, and learning. And when it was done, I looked at it and thought: the next evolution of this is automation. Not because I was tired of doing it manually — but because I wanted to be able to reproduce it at a moment’s notice. ...

One Unplugged Cable. Two Hours of Debugging. Here's What Broke My Bare Metal Kubernetes Cluster.
I wasn’t doing anything dramatic. No major deployment. No risky configuration change. I was trying to add a NAS to my homelab. New hardware means more devices, more devices means more outlets, more outlets means buying a power strip. What nobody tells you when you start this journey is that cable management becomes its own project the moment hardware starts multiplying. I ran out of space on my existing surge protector so I needed to plug the new one in somewhere close to the router, close to the switch, close to everything. ...

Calico and Tailscale Have a BGP Conflict. Here's Exactly What Breaks and How to Fix It.
If you’re building a bare metal Kubernetes cluster with Calico and you’ve also installed Tailscale for remote access — read this before you spend hours debugging pod networking. I didn’t. I spent the hours. Here’s what I learned. The Setup Four nodes. Two ThinkPad T480s as control plane. Two ThinkCentre M720q desktops as workers. I installed Tailscale on every node so the cluster stays reachable across apartment moves — Tailscale IPs don’t change even when your home network does. ...