All technological notes.
App of Apps
root app to track the directory recursively that stores manifests of all other apps.
tracked directory can be synced by ArgoCD directly.root app to track helm chart that include all other apps.
helm chart , then it can be synced by ArgoCD directly
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
labels:
app.kubernetes.io/name: root-app
name: root-app
namespace: argocd
spec:
project: default
destination:
namespace: argocd
server: https://kubernetes.default.svc
source:
path: app-of-apps
repoURL: https://github.com/mabusaa/argocd-course-app-of-apps.git
targetRevision: main
directory:
recurse: true # monitor recursively
syncPolicy:
automated: {}

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
labels:
app.kubernetes.io/name: root-app-helm-approach
name: root-app-helm-approach
namespace: argocd
spec:
project: default
destination:
namespace: argocd
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/mabusaa/argocd-course-app-of-apps.git
targetRevision: main
path: apps-helm-chart/apps
syncPolicy:
automated: {}
applicationsetApp-of-apps is a manual, declarative “parent-child” approach good for fixed, complex structuresApplicationSet is a dynamic, automated controller designed for scaling across many clusters or repositories using generators.App-of-Apps:
ApplicationSet:
ApplicationSets to manage multiple “App-of-apps” structures, providing the best of both worlds—dynamic generation with structured, ordered deployments.