# Cluster Setup
This document goes over the process of installing the GitOps files into a cluster


Install [cilium](https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/#install-the-cilium-cli)

Now install the FluxCD stuff:\
https://github.com/larivierec/home-cluster#installation

1. Bootstrap FluxCD, this will likely fail
2. After it fails, create the sops secret in the `flux-system` namespace
3. Now trigger a reconcilation, or resume the fluxcd bootstrap

# Uninstalling and removing all k3s data in NixOS
```shell
sudo systemctl stop k3s
sudo rm -rf /etc/rancher/k3s
sudo rm -rf /var/lib/rancher/k3s
sudo systemctl start k3s

sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $USER ~/.kube/config
sudo chmod 600 ~/.kube/config
```

## Finishing Service Setup

### SSO (Authentik)
Many services require SSO to be setup.

Proxy Providers:
* Bazarr
* Mylar3
* Prowlarr
* qBittorrent
* Radarr
* Readarr Audiobooks
* Readarr eBooks
* Sonarr
* Prometheus
* Alertmanager
* Traefik

OpenID Providers:
* Komga
* Apache Guacamole

An LDAP Provider is also required by services. Create an LDAP provider in authentik and just let it create the kubernetes resources.