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
    • ...

Recap

  • install sealedsecrets see README
    kubectl apply -k infrastructure/sealedsecrets
    kubectl apply -f infrastructure/sealedsecrets/main.key
    kubectl delete pod -n kube-system -l name=sealed-secrets-controller
    
  • install argocd
    kubectl apply -k infrastructure/argocd
    
  • wait...

Adding an application

todo

Description
No description provided
Readme 1.9 MiB