# ------------------------------------------------------------------------------ # App of Apps — Root # # This is applied ONCE after ArgoCD is bootstrapped. It is the second and # final manual kubectl apply: # # kubectl apply -n argocd -f cluster/argocd/apps-of-apps.yaml # # From this point forward, all changes are made via git. ArgoCD self-manages. # # This Application watches cluster/platform/ and cluster/applications/ and # creates child Applications for everything it finds there. # ------------------------------------------------------------------------------ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: apps-of-apps namespace: argocd annotations: # Wave 0 — this is the root, everything else comes after argocd.argoproj.io/sync-wave: "0" spec: project: default source: repoURL: https://gitea.mk-labs.cloud/rblundon/homelab.git targetRevision: main path: cluster directory: recurse: true include: "*/application.yaml" destination: server: https://kubernetes.default.svc namespace: argocd syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true - ServerSideApply=true ignoreDifferences: - group: argoproj.io kind: Application jsonPointers: - /spec/syncPolicy/automated