Blog

Homeserver first incident

2026-06-14

The first time my homelab went fully down: a circular bootstrap dependency where the cluster couldn't pull images because its DNS server was a pod inside the cluster that hadn't started yet.

Patching the homelab without the 4am page

2026-05-22

Automating OS updates and kernel reboots across a homelab Kubernetes cluster, and muting the alerts so routine overnight reboots don't wake me up.

Bringing Cilium under ArgoCD without reinstalling it

2026-05-20

Adopting an existing Helm release under ArgoCD on a live Kubernetes cluster, plus the Hubble TLS drift problem that surfaces along the way.

Trying out Datadog

2026-05-14

Adding Datadog to a homelab for resume reasons turned into a cascade of platform hygiene work I'd been overlooking

Using AI to fill some monitoring gaps

2026-04-24

Building an AI-powered runbook generator that also gave me a reason to actually configure Prometheus alerting on the homelab cluster.

Deploying this site to Kubernetes

2026-04-07

Containerizing a Next.js app and setting up a full GitOps CI/CD pipeline with GitHub Actions, GHCR, and ArgoCD, running alongside the existing AWS Amplify deployment.

GitOps, Cilium, and proper HTTPS on a bare metal cluster

2026-03-30

Setting up ArgoCD for GitOps, migrating from Flannel to Cilium, and wiring up Gateway API with cert-manager and Let's Encrypt for real HTTPS on a homelab Kubernetes cluster.

Kubernetes observability with Prometheus and Grafana

2026-03-25

Deploying the kube-prometheus-stack on a homelab Kubernetes cluster, exposing Grafana remotely over Tailscale, and a swap gotcha that took down the cluster after a reboot.

Building a Kubernetes cluster on a home server

2026-03-12

Setting up KVM virtualization and a three-node Kubernetes cluster on a Dell micro PC: the decisions, the why, and the gotchas.

Making this website

2026-03-01

The technical decisions behind this portfolio (Next.js, MDX, TypeScript, and AWS Amplify) and why each one made sense.