https://github.com/tolkonepiu/hl-cluster
My HomeLab Cluster managed with Flux, Renovate, and GitHub Actions.
https://github.com/tolkonepiu/hl-cluster
ansible devenv flux gitops k3s kubernetes renovate selfhosted taskfile
Last synced: 4 months ago
JSON representation
My HomeLab Cluster managed with Flux, Renovate, and GitHub Actions.
- Host: GitHub
- URL: https://github.com/tolkonepiu/hl-cluster
- Owner: tolkonepiu
- License: wtfpl
- Created: 2025-07-22T02:34:11.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-01-31T06:13:04.000Z (4 months ago)
- Last Synced: 2026-01-31T17:23:55.871Z (4 months ago)
- Topics: ansible, devenv, flux, gitops, k3s, kubernetes, renovate, selfhosted, taskfile
- Language: YAML
- Homepage:
- Size: 913 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

My HomeLab Cluster
... managed with Flux, Renovate, and GitHub Actions
[](https://k3s.io/)
[](https://fluxcd.io)
[](https://kernel.org/)
[](https://github.com/kashalls/kromgo/)
[](https://github.com/kashalls/kromgo/)
[](https://github.com/kashalls/kromgo/)
[](https://github.com/kashalls/kromgo/)
[](https://github.com/kashalls/kromgo/)
[](https://github.com/kashalls/kromgo/)
[](https://github.com/kashalls/kromgo)
## Overview
This repository is my home Kubernetes cluster in a declarative state.
[Flux](https://github.com/fluxcd/flux2) watches the [kubernetes](./kubernetes/)
folder and will make the changes to the cluster based on the YAML manifests.
The cluster runs on [k3s](https://k3s.io/) and consists of nodes based on
[Rock Pi 4B](https://radxa.com/products/rock4/4b/) single-board computers, each
equipped with 1TB NVME storage. Power to the boards is supplied through
[ROCKPI 23W PoE HAT](https://wiki.radxa.com/ROCKPI_23W_PoE_HAT) modules.
Although [Talos Linux](https://www.talos.dev/) was initially planned as the
operating system (which has
[official support for Rock Pi 4B](https://www.talos.dev/v1.6/talos-guides/install/single-board-computers/rockpi_4/)),
it has
[issues with NVME storage](https://github.com/siderolabs/sbc-rockchip/issues/65)
on this hardware platform, so k3s was chosen instead.
###
Core Components
Core components that form the foundation of the cluster:
- [cilium/cilium](https://github.com/cilium/cilium): Kubernetes CNI.
- [jetstack/cert-manager](https://cert-manager.io/docs/): Creates SSL
certificates for services in my Kubernetes cluster.
- [kubernetes-sigs/external-dns](https://github.com/kubernetes-sigs/external-dns):
Automatically manages DNS records from my cluster in CloudFlare.
- [rancher/system-upgrade-controller](https://github.com/rancher/system-upgrade-controller):
Handles k3s upgrades automatically.
- [kubereboot/kured](https://github.com/kubereboot/kured): Kubernetes reboot
daemon that performs safe automatic node reboots when needed.
###
Observability
For observability and monitoring of the cluster the following software is used:
- [grafana/grafana](https://github.com/grafana/grafana): Data visualization
platform.
- [prometheus/alertmanager](https://github.com/prometheus/alertmanager): Handles
processing and sending alerts.
- [pushover](https://pushover.net): Handles receiving alerts on my devices.
- [VictoriaMetrics/VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics):
Time series database, drop-in replacement for Prometheus.
###
Automation
- [Github Actions](https://docs.github.com/en/actions) for checking code
formatting and running periodic jobs
- [Renovate](https://github.com/renovatebot/renovate) keeps the application
charts and container images up-to-date
##
License
See [LICENSE](./LICENSE)