RSSAmplifier

Blog

rcwz.pl

Recent content on rcwz.pl

rcwz.plRSS feed ↗10 posts

Latest posts

Talos: recovering from broken network interface

While playing with my homelab Talos cluster, I accidentaly broke the network interface. As my Raspberry Pi has only one interface, that meant that my device was unreachable over the network. To make matter worse, the node I broke was the control plane, and I wanted to preserve as much data as possible. To recover from this situation, I was left with no other option, but to boot the device from an…

Setting up ArgoCD for continuous deployment

In the previous blog post in this series , I added secret management with External Secrets Operator and 1Password Connect . This was a necessary step before introducing ArgoCD , which will automate the deployment of applications to my Kubernetes cluster. Without ESO, I would either have to commit secrets in Git (not ideal, unless you plan to use Sealed Secrets or SOPS ) or to manually create…

Managing secrets with 1Password and External Secrets

So far in this series, I’ve been putting secrets in 1Password vault and creating secrets with a bootstrap.nu script that reads them from 1Password and creates Secret resources in the cluster (using kustomize ). In this post, I’ll add proper secret management to my Kubernetes cluster. I’ll be using 2 components: 1Password Connect for syncing secrets from 1Password and exposing…

Adding Cilium to a Talos cluster

In today’s post, I will document how to install Cilium on a Talos-managed Kubernetes cluster. Cilium is going to replace the default Flannel and kube-proxy . As always, you can find all code in my homelab Git repository and all changes in this post are in this commit . Prerequisites My cluster was created in the previous post. While most steps should be applicable to any Talos cluster, some…

Installing Talos on Raspberry Pi 5

A few months ago, some smart folks have figured out patches required to make Talos work on Raspberry Pi 5. As Talos is my favorite Kubernetes distro, I’ve been waiting for this moment for a long time. In this post, I’ll share all steps required to get Talos up and running on Raspberry Pi 5. Before we begin, you can find all files from this blog post in my homelab repository,…

A case against migration files

I never really understood the popularity of migration files. Sure enough, you need to somehow change schema from version A to version B and using SQL statements is the most straightforward way to do it, but surely, there has to be a better way, right..? What if I told you… you don’t actually need migration files to manage your database schema — and your life would be way easier without…

Proxying WebSocket connections in Go

Golang’s net/http package provides built-in support for http_proxy and https_proxy . This is awesome when developing apps locally, because one can use a tool like Proxyman to watch the traffic. In a side project, I needed to use a WebSocket client. I used github.com/gobwas/ws and while proxy is not supported out of the box, it was very easy to add using golang.org/x/net/proxy which supports…

Manage Go tools with Go

In almost any code, there comes a time when you need to use external tools for certain functionality. For example, you may want to use golangci-lint to lint your code, generate mocks with mockgen , or run your DB schema migrations with sql-migrate . There are few ways to achieve this: some projects use Makefile to install dependencies, some other use docker compose and run tools by running…

I'm really bad at side projects

I like side projects. Basically, my whole life is a side project after a side project after a side project. You’d think by now I must be some kind of a side project ninja, but no… I almost never finish them. Before we dive deeper why I rarely finish my side projects, I want you to understand what a side project means to me , as you may have a different definition. It’s a project…

Kubernetes is hard

Recently, 37signals unveiled mrsk , a tool developed internally to ease with deployments of their services and an accompanying blog post which sparked a lengthy discussion on Hacker News . Is Kubernetes hard? Many commenters in the HN thread argued that Kubernetes is complex and I think they are partially right. Part of the complexity lies in it’s versatility, after all, you can run almost…