The Tinkerbell logo. It shows the word 'tinkerbell' in cursive font and a gold star in a blue circle.

Tinkerbell Part II: Lab Setup

A description of my lab setup for tinkering with Tinkerbell. This is part 2 of my Tinkerbell series. For my Tinkerbell tinkering lab Actually, no. Let’s start with: How did I not come up with “tinkering with Tinkerbell” until the second post of this series? You may tsk tsk tsk disapprovingly at your screen now. For my Tinkerbell tinkering lab, I decided to run it on my desktop machine. This is because previous work on network booting has shown that I definitely want direct access to the netbooting machine’s TTY. And that’s easiest when it runs on my desktop. Also makes stuff like packet capturing easier. So I needed the following things in my lab setup: ...

June 12, 2025 · 16 min · Michael

Organizing Helm charts and other Manifests with Helmfile

Wherein I describe how I organize Helm charts and other k8s manifests. I’ve had this post laying around in my draft folder for a long long time. Mostly because I started writing it before I realized how useful it is to write posts very close to when something happens. The “something happens” in this case is the answer to the question “How to organize my Helm charts and other k8s manifests?”. I liked Helm fine enough when I looked at it. It’s pretty nice to get all necessary manifests to run an app, instead of having to write all of them myself. But the question then was: How to store which exact Helm charts I have installed, and in which version? And how/where to store the values.yaml files? And then, what about random manifests, like additional PriorityClasses? ...

June 5, 2025 · 7 min · Michael
The Tinkerbell logo. It shows the word 'tinkerbell' in cursive font and a gold star in a blue circle.

Tinkerbell Part I: The Plan

A rough overview of my plan for trialing tinkerbell in my Homelab. This is part 1 of my tinkerbell series. I’m planning to trial tinkerbell in my Homelab to improve my baremetal provisioning setup. This first post will be the plan and the reason why I’m doing this. Tinkerbell is a system for provisioning baremetal machines. It is deployed into a Kubernetes cluster and consists of a controller, a DHCP/netboot server, a metadata provider e.g. for cloud-init data, and an in-memory OS for running workflows. The basic idea is that new machines netboot into that in-memory OS and execute workflows configured in tinkerbell to install the actual OS. ...

May 29, 2025 · 7 min · Michael

Gathering SNMP Metrics with the SNMP Exporter

I have been gathering metrics from my DrayTek Vigor 165 modem for a while now, and finally got around to documenting the setup, so now you get to read about it. I’m using the Vigor 165 to connect to the Internet via a Deutsche Telekom 250 Mbit/s VDSL connection. That modem supports SNMP and can provide metrics like the line speed or quality. A couple of years back, I wanted to get that data into my Grafana dashboards. After some searching, I came across the SNMP Exporter. ...

May 25, 2025 · 11 min · Michael
The Forgejo logo. It is the letter F in the style of Git branches.

Migrating from Gitea to Forgejo

Wherein I migrate my Gitea instance to Forgejo. The Git forge Gitea is one of the oldest services in my Homelab. I set up the first instance about ten years ago, when a budgetary problem forced me to switch my Homeserver to a Pi 3. And that wasn’t really able to run Gitlab, my previous hosting platform. So Gitea it was. Then I had another Gitlab phase after those budgetary constraints were decisively lifted. And then I returned to Gitea, because Gitlab was really, really annoying me, back in 2021. I have been quite happy with Gitea. It provides me a nice UI for my repos and a convenient place for issues logging, although I’ve never really used that feature too much. A couple of years ago, I also added a CI with Drone, but that’s about all the features I ever needed from a Git forge. ...

May 23, 2025 · 12 min · Michael