Finalizer
Finalizer : entrée de la liste metadata.finalizers d'un objet Kubernetes. Tant qu'elle est présente, Kubernetes ne supprime pas l'objet : il le marque comme en cours de suppression et attend qu'un contrôleur ait fait son nettoyage, puis retiré l'entrée.
Dans Argo CD, le finalizer resources-finalizer.argocd.argoproj.io rend la suppression d'une Application en cascade : Kubernetes attend qu'Argo CD ait supprimé toutes ses ressources avant de supprimer l'Application (la variante .../background supprime en arrière-plan). Sans finalizer, la suppression est sans cascade : l'Application disparaît, ses ressources restent, orphelines. Le premier comportement sert à nettoyer un environnement temporaire, le second à retirer une application d'Argo CD sans couper le service. Les Applications générées par un ApplicationSet portent ce finalizer par défaut : un git rm peut alors détruire un environnement. Réservez-le aux environnements jetables.
Dans les cours
- GitOps avec Argo CD, leçon 3 : L'Application en détail
- 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