ApplicationSet
ApplicationSet : ressource d'Argo CD qui remplace des Applications presque identiques par un générateur et un modèle. Le générateur produit une liste de jeux de paramètres : un par élément d'une liste, par répertoire ou fichier d'un dépôt Git, par cluster déclaré, par demande de fusion ouverte, par dépôt d'une organisation, ou une combinaison de deux générateurs (matrix, merge). Le contrôleur d'ApplicationSet crée une Application par jeu de paramètres à partir du modèle, qu'on écrit de préférence en modèles Go avec missingkey=error.
Ce contrôleur est lui-même une boucle de réconciliation : il crée, met à jour et supprime les Applications qui ne sont plus générées. Par défaut, celles-ci portent le finalizer de suppression en cascade : un git rm sur un répertoire d'environnement peut détruire cet environnement, ressources comprises. preserveResourcesOnDeletion: true et applicationsSync: create-update protègent les environnements durables, et argocd appset generate montre ce qu'un ApplicationSet produirait avant de l'appliquer. La documentation recommande d'en réserver la création aux administrateurs, et de ne jamais rendre le champ project du modèle paramétrable.
Dans les cours
- GitOps avec Argo CD, leçon 6 : ApplicationSet : des applications en série
- GitOps avec Argo CD, leçon 7 : Plusieurs clusters
- GitOps avec Argo CD, leçon 9 : Sécuriser Argo CD