My Own Cloud

February 23, 2026 ยท View on GitHub

My Own Cloud

... managed with Flux, Renovate and GitHub Actions

Discordย ย  Kubernetesย ย  Talosย ย  FluxCDย ย 

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

๐Ÿผ Overview

This educational project is designed to provide a hands-on learning experience for mastering Kubernetes cluster configurations and best practices. The repository showcases a declarative implementation of a Kubernetes cluster, following GitOps principles that can be utilized with a variety of tools and workflows.

The main goal of this project is to demonstrate best practices for implementing enterprise-grade security, observability, and comprehensive cluster configuration management using GitOps in a Kubernetes environment, while fostering learning and growth in the Kubernetes community.

This repository leverages a range of cutting-edge open-source tools and platforms, forming a comprehensive technology stack that demonstrates the power of the CNCF ecosystem.

๐Ÿ“– Table of contents

๐Ÿ”ง Hardware

DeviceDescriptionQuantityCPURAMStorageArchitectureOperating System
Ubiquiti UDM-Pro-MaxRouter/Gateway1--8TB-UniFi OS
Ubiquiti USW-Pro-Max-48-PoENetwork Switch1----UniFi OS
Asus NUC 14 ProKubernetes Nodes314 cores48GB1TB NVMe + 1TB SSDAMD64Talos Linux
NASStorage18 cores16GB48TBAMD64TrueNAS
JetKVMRemote KVM3-----
Decommissioned Hardware
DeviceDescriptionQuantityCPURAMStorageArchitectureOperating System
Protectli FW6ERouter14 Cores16GB-AMD64VyOs
Protectli VP2410Kubernetes Node(s)34 Cores8GB-AMD64Talos Linux
Protectli FW2BKubernetes Node(s)32 Cores8GB-AMD64Talos Linux
Raspberry Pi 4 Model BKubernetes Node(s)44 Cores8GB-ARM64Talos Linux
Rock Pi 4 Model CKubernetes Node(s)64 Cores4GB-ARM64Talos Linux

โ˜๏ธ Cloud Services

Although I manage most of my infrastructure and workloads on my own, there are specific components of my setup that rely on cloud services.

ServiceDescriptionCost (AUD)
CloudflareI use Cloudflare in my home network for DNS management and to secure my domain with Cloudflare's services.~$69/yr
GCPI use Google Cloud Platform (GCP) to manage backups using Google Cloud Storage (GCS) and employ GCP's OAuth for authentication.~20/yr
GitHubI use GitHub for code management and version control, enabling seamless collaboration in addition to OAuth for authenticationFree
Lets EncryptI use Let's Encrypt to generate certificates for secure communication within my network.Free
Total: ~$35/mo

๐Ÿ–ฅ๏ธ Technology Stack

The below showcases the collection of open-source solutions currently implemented in the cluster. Each of these components has been meticulously documented, and their deployment is managed using FluxCD, which adheres to GitOps principles.

The Cloud Native Computing Foundation (CNCF) has played a crucial role in the development and popularization of many of these tools, driving the adoption of cloud-native technologies and enabling projects like this one to thrive.

NameDescription
KubernetesAn open-source system for automating deployment, scaling, and management of containerized applications
Talos LinuxMinimal, immutable Linux OS designed for Kubernetes
FluxCDGitOps continuous delivery for Kubernetes
HelmThe Kubernetes package manager
CiliumeBPF-based CNI providing networking, security, and observability
Envoy GatewayKubernetes Gateway API implementation built on Envoy proxy
containerdIndustry-standard container runtime integrated with Talos Linux
CoreDNSFlexible, plugin-based DNS server for Kubernetes service discovery
Rook-CephCloud-native storage orchestration for Kubernetes using Ceph
VolsyncAsynchronous data replication for Kubernetes persistent volumes
SpegelStateless cluster-local OCI registry mirror
PrometheusMonitoring system and time series database
GrafanaAnalytics and monitoring dashboards
cert-managerX.509 certificate management for Kubernetes
External SecretsSynchronize secrets from external APIs (1Password) into Kubernetes
ExternalDNSAutomatically manage DNS records from Kubernetes resources
DexOpenID Connect identity provider for authentication
oauth2-proxyReverse proxy providing authentication with external OAuth2 providers
Cloudflare TunnelSecure outbound-only tunnel for exposing services without public IPs

๐Ÿค– Automation

This repository is automatically managed by Renovate. Renovate will keep all of the container images within this repository up to date automatically. It can also be configured to keep Helm chart dependencies up to date as well.

๐Ÿค Acknowledgments

A special thank you to everyone in the Home Operation Discord community for their valuable contributions and time. Much of the inspiration for my cluster comes from fellow enthusiasts who have shared their own clusters under the k8s-at-home GitHub topic.

Also I extend heartfelt thanks to all CNCF contributors for their dedication and expertise, as their collective efforts have been vital in driving innovation and success within the cloud-native ecosystem.

For more ideas on deploying applications or discovering new possibilities, be sure to explore the kubesearch.dev search.

๐Ÿ‘ฅ Contributing

Our project welcomes contributions from any member of our community. To get started contributing, please see our Contributor Guide.

๐Ÿšซ Code of Conduct

By participating in this project, you are expected to uphold the project's Code of Conduct. Please report any unacceptable behavior to the repository maintainer.

๐Ÿ’ก Reporting Issues and Requesting Features

If you encounter any issues or would like to request new features, please create an issue on the repository's issue tracker. When reporting issues, include as much information as possible, such as error messages, logs, and steps to reproduce the issue.

Thank you for your interest in contributing to this project! Your contributions help make it better for everyone.

๐Ÿ“„ License

This repository is Apache 2.0 licensed