The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 15: Migrating my CI

Wherein I migrate my Drone CI setup on Nomad to a Woodpecker CI setup on k8s. This is part 16 of my k8s migration series. Finally, another migration blog post! I’m still rather happy that I’m getting into it again. For several years now, I’ve been running a CI setup to automate a number of tasks related to some personal projects. CI stands for Continuous Integration, and Wikipedia says this about it: ...

January 26, 2025 · 27 min · Michael
The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 14: Deploying the Backups

Wherein I’m finally done with the backups in my Homelab’s k8s cluster. This is part 15 of my k8s migration series. Finally, I’m done. After months of writing Python code for my backup operator. Especially during the middle phase of the implementation, after the initial planning and design, it felt like a slog. Dozens of tasks, many functions to implement, and seemingly no end in sight. I’m rather elated to finally be able to write another post in the k8s migration series. ...

January 23, 2025 · 11 min · Michael

Homelab Backup Operator Part III: Running Backups

In the last couple of months, I’ve been working on a k8s operator for running backups of persistent volumes and S3 buckets in my cluster. Previous installments of the series can be found here. And now, I’m finally done with it, and over the weekend, I ran the first successful backups. Time to describe what I’ve implemented, why and how. Recap Let’s start with a recap. For a more detailed description of the problem, have a look at this post in my k8s migration series. ...

January 10, 2025 · 21 min · Michael
The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 13: Almost one year

Wherein I realize that I’ve been at this for almost a year now. This is part 14 of my k8s migration series. It has been quite a while since I last wrote a blog post about the migration. And I’ve realized today that it’s been almost a year since I made the decision to switch over to Kubernetes for my Homelab. On the 17th of August 2023, I posted about the HashiPocalypse. ...

August 15, 2024 · 4 min · Michael

Homelab Backup Operator Part II: Basic Framework

In the last post of my Backup Operator series, I lamented the state of permissions in the kopf Kubernetes Operator framework. After some thinking, I decided to go ahead with kopf and just accept the permission/RBAC ugliness. I’ve just finished implementing the first cluster state change in the operator, so I thought this is a good place to write a post about my approach and setup. The journey up to now has been pretty interesting. I learned a bit about the Kubernetes API, and a lot about how cooperative multitasking with coroutines works in Python. ...

May 25, 2024 · 21 min · Michael