It’s been almost two years since I built my first Raspberry Pi-powered k3s cluster. A lot’s changed! There’s a new node in the cluster and I’ve gone off the deep end switching everything to NixOS. In this post, I’ll talk about the new node and some of the nix options that enable it.
Installing Nix and Home Manager in Arch Linux
Hi, I’m Matt and I’m one of those masochists who uses a chromebook as their personal development machine (not work though, I’m not that crazy). A cool thing about Chrome OS’s Linux support is that you can swap the default, boring Debian container for any LXC image. Here’s an archwiki page on how to swap it to Arch!
A not-so-cool thing about that LXC setup is that there isn’t a NixOS LXC image available 😢. Instead, I set up an Arch Linux container with Nix and Home Manager. Best of both worlds I guess? Here’s how to do it.
Getting Dependabot and semantic-release to Play Nice
The other day, GitHub sent me a notification that there were a couple security vulnerabilities in the dependencies of one of my personal projects, castaway. Having used Dependabot at work, I figured I’d enable it and get that vulnerability taken care of.
After I merged one of Dependabot’s PRs, I was shocked (😱) to find that semantic-release hadn’t made a release for it. Dependabot prefixed the commit with build(deps):
, and semantic-release only creates releases for commits with prefixes fix
and feat
.
What’s the point of a security update if it doesn’t actually build a new image? Looks like I’ve got some work to do.
Removing Old Torrents Using a Raspberry Pi Cluster
My new Raspberry Pi cluster is a little unstable and pretty limited since the nodes have just 1GB of memory. What the heck could I possibly use this for?
Turns out it’s great at running simple cron jobs. In this case, one that cleans up old torrents on a remote qbittorrent server.
Saibamen Attack! Building a Raspberry Pi Cluster
Over the holidays I made a k3s (that’s Kubernetes minus 5) cluster out of Raspberry Pis I had lying around. And while it’s extremely cool, it’s also pretty unstable.
In this post, I’ll outline what this new cluster looks like and go into detail on how I set it up. At the end, I’ll talk a little bit about why I won’t be entrusting it with my most important tasks just yet.