The cluster that runs on my desk, a bare metal Talos Kubernetes cluster, provisioned using talosctl, helm, and flux.
This is a monorepo for the cluster that lives on my desk, which I called
phoebe. It uses Flux to deploy services from this
repository into my cluster, and a combination of SOPS and
1Password to inject secrets into those services.
It automatically updates itself over time using Renovate, and tests pull requests for those updates using GitHub Actions.
My Kubernetes cluster is deployed with Talos. This
repository's structure is largely based on the amazing work put in over at
onedr0p/home-ops, but running my own
services and configurations.
- cert-manager: Manages TLS certificates via Let's Encrypt.
- cilium: eBPF-based networking and L2 load balancing with VIPs.
- external-dns: Pushes DNS updates to CloudFlare and my internal DNS server when changes are needed.
- external-secrets: Managed Kubernetes secrets using 1Password Connect.
- longhorn: Clustered storage system that handles all the difficult things for me, and is very easy to deploy.
- sops: Managed secrets for Kubernetes, encrypted with Age, safely committed to Git.
Thanks to all the people who donate their time to the Home Operations Discord community. Their help, especially that of onedr0p, has been invaluable in getting my setup working to the degree it does.
They host a mirror of Helm charts I make use of too. They mirror charts with no
OCI registry available to ghcr.io, allowing me to keep all of my Helm charts
available over OCI images.