GitOps my home infra

March 18, 2026 ยท View on GitHub

talos kubernetes Flux

renovate Status-Page commits


Logo

Age-Daysย ย  Uptime-Daysย ย  Node-Countย ย  Pod-Countย ย  CPU-Usageย ย  Memory-Usageย ย  Alerts

GitOps my home infra

Table of Contents

Statistics

Alt

About The Project

๐Ÿ‘‹ Hello and welcome to my Home Lab GitOps Cluster Configuration!

In this project, I am thrilled to share with you the automated configuration of my home infrastructure. As an ardent believer in continuous learning, I embrace every opportunity to challenge myself and expand my knowledge horizon. Through this venture, I aim to not only streamline and automate my daily tasks but also encourage collaboration and knowledge sharing within the community.

This is a private project heavily inspired by the great k8s-at-home community.

Let's take a glimpse into the evolution of this project:

  • The Foundation: flux.home-cluster starting with a first iteration and learn Flux and GitOps principles with some old hardware.
  • The Minimal Redundancy Edition: flux.pi-k3s.home starting a new project with a Raspberry Pi based GitOps Flux Cluster, with three control planes.
  • The Merge: flux.k3s.home after a successfull testing phase I merged both projects into one cluster.

By making my findings and work accessible to all, I strongly believe in the principle that knowledge should be free, empowering individuals to avoid repetitive endeavors and instead focus on new and exciting challenges.

Join me on this exciting journey as we delve into the realm of Kubernetes and GitOps, uncovering new insights and finding innovative ways to enhance our setups. Let's embrace the spirit of collaboration and empower each other to achieve more.

Happy automating, learning, and exploring!

(back to top)

๐Ÿงฐ Tools and Technologies

Here is the list of tools and technologies I am using in this project.

ToolRole
talosLinux designed for Kubernetes โ€“ secure, immutable, and minimal.
Flux2Kubernetes GitOps engine
CloudflareDNS and tunnels to allow external traffic
RenovateBotAutomated dependency updates.
GitHubCode Hosting and job runnner
BackstageDocumentation with backstage developer portal

๐Ÿ“– Overview

Hardware

DeviceCPUOSOS DiskData DiskRAMPurpose
MS-01i9-13900HTalos1 TB NVMe500GB NVMe (rook-ceph)96GBKubernetes
MS-01i9-13900HTalos1 TB NVMe500GB NVMe (rook-ceph)96GBKubernetes
MS-01i9-13900HTalos1 TB NVMe500GB NVMe (rook-ceph)96GBKubernetes
Intel NUC7i7DNHEi7-8650UTalos500 GB SSD-32GBUtility
AOSTAR WTR ProN100TrueNAS250 GB NVMe4x 8 TB HDD32GBNAS
UniFi UDM SE--128GB SSD--Router
UniFi USW Aggregation-----Switch

(back to top)

Getting Started

Prerequisites

  • mozilla sops
  • age
  • talhelper

(back to top)

Usage

Configure SOPS (optional)

Provide key in path defined in .envrc.

Configure kubectl

Just run

task talos:config
task talos:kubeconfig

(back to top)

Roadmap

  • Complete README.md
  • Add Changelog
  • Add GitHub Pages

See the open issues for a full list of proposed features (and known issues).

(back to top)

๐Ÿ•ต Troubleshooting

Stuck HelmRelease

discussion

example:

โžœ flux suspend hr -n networking traefik
โ–บ suspending helmreleases traefik in networking namespace
โœ” helmreleases suspended
โžœ flux resume hr -n networking traefik
โ–บ resuming helmreleases traefik in networking namespace
โœ” helmreleases resumed
โ—Ž waiting for HelmRelease reconciliation
โœ” HelmRelease reconciliation completed
โœ” applied revision 10.9.1

(back to top)

Quality

megalinter

(back to top)