About this project

This repository is the public GitOps configuration for a single home Kubernetes cluster. It is organized so that each directory corresponds to a namespace, and most applications are deployed through a shared `app` Helm chart maintained in a separate chart repository. The cluster itself runs on Talos, with its machine configuration published in a companion repository. What it contains - A large index of namespaces and the workloads inside them, listing the kind of resource (mostly HelmRelease, plus some GitRepository and CronJob entries) and any supporting services such as PostgreSQL, Redis/Valkey or restic backup jobs. - Application namespaces spanning several areas: media (Jellyfin, Immich, Tdarr, nginx-rtmp), documents and knowledge (Paperless-ngx, Atuin, Tandoor, KOReader sync), identity and secrets (Authentik, Vaultwarden), collaboration (Mattermost, Gitea), monitoring and observability (Prometheus, metrics-server, json-exporter, ping-exporter, kromgo), and storage (Longhorn, MinIO, CSI snapshotter). - Infrastructure namespaces for cluster plumbing: cert-manager, CloudNativePG, Envoy Gateway, external-dns, Tailscale operator and peer relay, Kyverno policy enforcement, descheduler, reloader, reflector, and GitHub Actions runner controllers with several runner scale sets. - Radio, aviation and weather workloads: AREDN mesh services, dump978, piaware, ultrafeeder, rtl-433, trunk-recorder, rdio-scanner, weewx, and image scrapers for all-sky and mesonet camera data. - Backup and recovery: a backup-sync namespace with multiple restic-based jobs, etcd backup and prune CronJobs, and per-app restic HelmReleases. - Games and hobby services such as Minecraft, Mindustry and Path of Titans, plus miscellaneous utilities like CyberChef, GoLink, Healthchecks, iperf3 and OpenSpeedTest. How it is used This is a personal, opinionated deployment rather than a reusable product. It is most useful as a reference for how a broad set of self-hosted services can be structured as Flux-managed HelmReleases, how namespaces are separated between apps, services and infrastructure, and how supporting databases and backups are wired alongside each application. Adapting it would require replacing hostnames, secrets, storage classes and the referenced Helm chart sources with your own.