k3s-infra/README.md

6.6 KiB

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

Status

App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status


App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status App Status

App Status App Status