This repository is my home Kubernetes cluster in a declarative state. Flux watches the kubernetes folder and will make the changes to the cluster based on the YAML manifests.
- backube/volsync and backube/snapscheduler: Backup and recovery of persistent volume claims.
- cilium/cilium: Kubernetes CNI.
- envoyproxy/envoy: Kubernetes-based application gateway using Kubernetes Gateway API.
- external-secrets/external-secrets: Managed Kubernetes secrets using 1Password Connect.
- jetstack/cert-manager: Creates SSL certificates for services in my Kubernetes cluster.
- kubernetes-sigs/external-dns: Automatically manages DNS records from my cluster in CloudFlare.
- rancher/system-upgrade-controller: Handles Kubernetes and Talos upgrades automatically.
- rook/rook: Distributed block storage for peristent storage.
- siderolabs/talos: The Kubernetes Operating System.
- Github Actions for checking code formatting and running periodic jobs
- Renovate keeps the application charts and container images up-to-date
- 1Password for managing secrets via external-secrets.
- AWS SES for sending emails.
- Cloudflare tunnels for exposing services & creating certificates & managing domains.
- Cloudflare R2 for daily backups.
- Pushover for sending alerts.
Total cloud costs yearly is approximately ~$150/year.
This Git repository contains the following directories.
π bootstrap # Flux installation to bootstrap cluster
π docs # Docs
π hacks # Contains random scripts
π kubernetes # Kubernetes cluster defined as code
ββπ flux # Main Flux configuration of repository
ββπ components # Flux components
ββπ apps # Apps deployed into my cluster grouped by namespace
π talos # Contains the configuration for Talos operating system
π terraform # Contains Cloudflare terraform
Device | Count | OS Disk Size | Data Disk Size | Ram | Operating System | Purpose |
---|---|---|---|---|---|---|
UDM-Pro-Max | 1 | - | - | - | Unifi | Router |
USW-Pro-Aggregation | 1 | - | - | - | Unifi | Switch |
USW-Pro-Max-24-PoE | 1 | - | - | - | Unifi | Switch |
UAP-AC-Lite | 1 | - | - | - | Unifi | WiFi AP |
ER-10X | 1 | - | - | - | EdgeOS | Switch |
PiKVM V4 Mini | 1 | - | - | - | PiKVM | KVM |
TESmart HDMI KVM Switch 8 Ports | 1 | - | - | - | - | KVM Switch |
CyberPower CP1500PFCRM2U | 1 | - | - | - | UPS | |
USP-PDU-Pro | 1 | - | - | - | Unifi | PDU |
Synology DS920+ | 1 | - | 2x8TB & 2x16TB | 20GB | DSM | NAS |
MS-01 i9-13900H | 3 | 1TB | 2TB | 96GB | Talos | Control Plane |
Thanks to all the people who donate their time to the Kubernetes @Home community.
This repository was built off the onedr0p/template-cluster-k3s repository.
See LICENSE