... managed by Flux. For testing and prototyping.
This repository is my homelab Kubernetes cluster in a declarative state. Flux v2 watches my cluster folder and makes the changes to my cluster based on the YAML manifests.
List of stuff I (want to) run on the cluster. Mostly for "science" and for personal satisfaction.
- ✅ Flux v2 for declarative gitops deployments.
- ✅ SOPS for secret sharing.
- ✅ Prometheus, Grafana and Loki for monitoring.
- ✅ Traefik with automatically provisioned TLS certificates.
- ✅ kubeval and kube-score for validating the cluster declarations.
- ❎ Flagger for progressive delivery with canary deployments...
- ❎ Ansible (with kubespray?) for provisioning the k8s cluster itself...
- ❎ More Github Actions for keeping things up-to-date...
My single-node k8s cluster is running on old bare metal in my basement. It was set up with kubeadm on CentOS.
TODO: Automate the k8s installation with Ansible.
A lot of inspiration for my flux repo structure came from onder0p's home cluster.