$ kubectl get services
The homelab
This site — and everything else I run for myself — lives on a small k3s cluster in my own home, not on rented cloud. What's below is the current state of that cluster: how it's operated, and what's running on it right now.
$ cat README.md
yvan@yv-business:~/homelab$ cat README.md
The cluster is k3s, running across a handful of nodes at home. Nothing here is clicked into existence in a dashboard — the whole cluster is defined as code and reconciled by Flux, bootstrapped from a small flux-template repo I built for exactly this. Every service, every config change, every rollout starts as a commit. GitOps, properly: the cluster's actual state is whatever's in the repo, continuously reconciled — not whatever someone remembers clicking last.
That means every change is a commit, not a click. Want to add a service, bump an image tag, or tweak a resource limit? Open a PR, merge it, and Flux rolls it out. No SSH-ing into a box at 1am to "just fix it" — if it's not in git, it doesn't happen. Rollbacks are a revert, not a fire drill.
It's self-hosted end to end: compute, storage, the container registry, and the CI runners that build everything are all mine, running on hardware I own. No rented cloud anywhere in the chain — the only outside dependency is the internet connection itself.
The full build-out — hardware, networking, the flux-template bootstrap, and the decisions that went into it — is its own story. The deep-dive lives in the writeups.
$ kubectl get services -o wide
Everything currently deployed on the cluster, reconciled from git a few minutes ago.
# statuses are illustrative for now — live health checks land once the cluster exposes them publicly.
$ cat ~/homelab/stack.txt
The pieces that make the cluster tick, roughly bottom to top.