Hysen Labs
Open-source project
1Solon/Home-Server-Configuration avatar
1Solon

Home-Server-Configuration

This is the Kubernetes config for my home cluster, I use Flux to sync this and the cluster itself.

22 stars3 forksPythonLicense varies
DEEP OPEN-SOURCE ANALYSIS

Home server configuration manages a Talos Kubernetes cluster with Flux

A GitOps repository defines a five node home Kubernetes cluster, its apps, networking, and encrypted secrets.

What the home cluster runs

This repository holds the Kubernetes configuration for a personal home cluster. The README describes it as a GitOps managed Kubernetes home server running on Talos Linux with Flux CD and Renovate. The design uses five nodes in a hybrid layout: four ARM64 machines and one x86 64 machine. The operating system is Talos Linux v1.12.1, which the README describes as immutable and API configured. Kubernetes itself is v1.35.0. Flux CD manages all workloads from this repository, meaning the cluster state is declared in git and reconciled automatically. Renovate is enabled to keep dependencies and images current. The README presents the whole stack through badge lines that state the versions, so a reader sees the core choices at a glance. The point of the setup is that the home cluster is described entirely as code, so rebuilding or moving it means applying the same repository rather than repeating manual steps. The hybrid architecture lets the owner mix ARM and x86 hardware under one control plane. The README's badge block makes the version choices explicit, which helps a reader reproduce the same baseline. The information above is drawn from the project README and its repository metadata, which remain the source for the project's current behaviour. The cluster runs Talos Linux v1.12.1 with Kubernetes v1.35.0 and is reconciled by Flux CD from this repository. A reader who wants exact commands or file names should open the repository and read the documentation the maintainers provide.

Repository layout and GitOps sync

The README shows the repository structure under a kubernetes directory. Inside it, an ai folder holds litellm, openwebui, and searxng. A games folder holds abiotic factor. An infra folder holds flux, split into instance, notifications, and operator, and the list continues beyond what the text shows. This layout groups workloads by purpose so each app lives in its own subtree. Because Flux reads from this tree, adding or removing an app is a git change rather than a manual kubectl step. The README's diagram uses a simple folder tree to make the shape clear. The ai group shows the cluster runs language model tooling, while games shows it hosts a game server, and infra holds the platform plumbing. The structure reflects the GitOps idea that the file tree is the source of truth for what runs. A reader can browse the directories to learn which applications the cluster is meant to deploy, and the Flux configuration then makes that intent real on the nodes. The clear separation by purpose also makes it easy to find where a given workload is defined. The information above is drawn from the project README and its repository metadata, which remain the source for the project's current behaviour. The cluster runs Talos Linux v1.12.1 with Kubernetes v1.35.0 and is reconciled by Flux CD from this repository. A reader who wants exact commands or file names should open the repository and read the documentation the maintainers provide.

Networking and secret handling

The README lists the cluster's networking and secret choices. Networking uses the Cilium CNI, an Envoy Gateway, and Cloudflare for DNS and DDNS, plus a Tailscale VPN. Secrets use SOPS with AGE encryption and 1Password through the External Secrets Operator, with the README noting most secrets come from 1Password and some from the former method. These choices keep configuration open while protecting sensitive values: the git repository can be public because secrets are encrypted or pulled from a vault at reconcile time. Cilium provides the pod network, Envoy handles ingress, Cloudflare maps names to the home IP through DDNS, and Tailscale gives a private tunnel. The External Secrets Operator bridges 1Password items into Kubernetes secrets. The README presents these as the standard building blocks of the cluster rather than optional extras. Together they show a home lab that is exposed safely and managed without committing plaintext credentials. The SOPS with AGE fallback means even the parts not in 1Password stay encrypted at rest in the repository. The information above is drawn from the project README and its repository metadata, which remain the source for the project's current behaviour. The cluster runs Talos Linux v1.12.1 with Kubernetes v1.35.0 and is reconciled by Flux CD from this repository. A reader who wants exact commands or file names should open the repository and read the documentation the maintainers provide.

Editorial conclusion

The configuration describes a Talos Linux v1.12.1 cluster running Kubernetes v1.35.0 and reconciled by Flux CD.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes