61 lines
No EOL
1.9 KiB
Markdown
61 lines
No EOL
1.9 KiB
Markdown
# Cluster Setup
|
|
This document goes over the process of installing the GitOps files into a cluster
|
|
|
|
1. Install [cilium](https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/#install-the-cilium-cli) in the cluster
|
|
2. Install the [Flux CLI](https://fluxcd.io/flux/installation/#install-the-flux-cli)
|
|
3. Install [go-task](https://taskfile.dev/installation/)
|
|
4. Ensure you have a kubeconfig at `$HOME/.kube/config` and that you have the cluster sops GPG key imported.
|
|
5. Bootstrap flux
|
|
```sh
|
|
task flux:bootstrap
|
|
# namespace/flux-system configured
|
|
# customresourcedefinition.apiextensions.k8s.io/alerts.notification.toolkit.fluxcd.io created
|
|
# ...
|
|
```
|
|
6. Verify Flux components are running in the cluster
|
|
|
|
```sh
|
|
kubectl -n flux-system get pods -o wide
|
|
# NAME READY STATUS RESTARTS AGE
|
|
# helm-controller-5bbd94c75-89sb4 1/1 Running 0 1h
|
|
# kustomize-controller-7b67b6b77d-nqc67 1/1 Running 0 1h
|
|
# notification-controller-7c46575844-k4bvr 1/1 Running 0 1h
|
|
# source-controller-7d6875bcb4-zqw9f 1/1 Running 0 1h
|
|
```
|
|
7. After a while all the services should start to come up
|
|
|
|
# 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. |