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 open-source apps.
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 before starting the cluster:
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 |
authentik_key |
Random string of atleast 50 caracters long (ex: openssl rand -base64 50 ) |
renovate_token |
Git token for the Renovate account |