Application racine (App of Apps)
Application racine (en anglais App of Apps) : motif dans lequel une seule Application, appliquée à la main une fois, suit un répertoire de Git qui contient les définitions de toutes les autres Applications. Il fonctionne parce qu'une Application est une ressource Kubernetes comme une autre : la racine la rend depuis Git, l'applique dans le namespace argocd, et le contrôleur prend en charge chaque nouvelle venue. Ajouter une application devient un commit ; la supprimer, un autre. Reconstruire un cluster revient à réinstaller Argo CD et à appliquer la racine.
Le dépôt qui contient ces définitions devient le plus sensible de tous : il dit quelles applications existent, d'où elles viennent et dans quel projet. Avec l'élagage activé sur la racine, retirer un fichier supprime l'Application, et toutes ses ressources si elle porte le finalizer de cascade. Protections : pas de finalizer de cascade sur les applications de production, relecture obligatoire du dépôt, et Prune=confirm (ou pas d'élagage) sur la racine. Quand les définitions se ressemblent, un ApplicationSet peut remplacer les copies.
Dans les cours
- GitOps avec Argo CD, leçon 4 : Structurer les dépôts et promouvoir
- GitOps avec Argo CD, leçon 6 : ApplicationSet : des applications en série
- GitOps avec Argo CD, leçon 10 : Exploiter Argo CD