State of the art multi-cluster GitOps repository for homelab use. Currently used with my bare metal Kubernetes clusters at home to host a bunch of useful apps.
Apps | Description |
---|---|
|
Recursive DNS server used with Pi-hole to provide more privacy |
|
Git server to host personal stuff likes notes etc. |
I'm using Sidero Omni to manage and deploy my Kubernetes clusters.
You'll need the following:
- A static public IP address with a router able to forward ports
- A domain name with a DNS provider usable with ExternalDNS
- An API token of the DNS provider that will allow challenges to create certificates. This repository uses a
Cloudflare
token with the permissions: Zone - DNS - Edit, Zone - Zone - Read & Include - All Zones - Another API token of the same provider to manage DNS records. Using
Cloudflare
, the token should have the same permissions as above - A GitHub PAT to be used by
FluxCD
, with Read-Write permissions for Admnistration & Contents - Any secret provider supported by External Secrets Operator. This repository uses
GitLab
Here is the following list of secrets you need to add in your external secrets provider of choice
Name | Description |
---|---|
dns_provider_challenge_token |
API token of your DNS management provider of your domain, used to generate the x.509 certificates |
dns_provider_management_token |
API token of your DNS management provider of your domain, used to manage your DNS records |
pihole_password |
Password for the web interface of Pi-hole |