# Kluster setup and IaaC using argoCD ### Initial setup #### Requirements: - A running k3s instance - `sealedsecrets` deployed #### Installing argo and the app-of-apps ``` kubectl apply -k infrastructure/argocd ``` This will install argocd and its CRDs in a dedicated namespace. The app-of-apps is configured under `kluster-deployments/` and deployed as well. This will bootstrap all other apps, as described in `./kluster-deployments`. The app-of-apps will bootstrap a fully featured cluster with the following components - postgres instance with backups - backup of all nfs PVCs using restic - traefik (along with metallb as a publicly accessible reverse proxy) - an nfs-provisioner creating PVCs on-demand - gitea - a range of selfhosted apps: - nextcloud - jellyfin - adguard-home - homarr - homeassistant - immich - ... ### Adding an application