AppProject (projet Argo CD)
AppProject, ou projet (Argo CD) : ressource qui borne ce que les Applications qui lui appartiennent ont le droit de faire. Elle liste les dépôts sources autorisés, les destinations (couples cluster et namespace, jokers permis) et les types de ressources permis ou interdits (clusterResourceWhitelist, liste noire par namespace). Elle porte aussi les fenêtres de synchronisation et des rôles de projet, dont les jetons, à date d'expiration, servent par exemple à une CI qui déclenche une synchronisation.
Le projet est appliqué par le contrôleur au moment de la réconciliation : une ressource dont le type ou la destination n'est pas permis est refusée, même si l'Application a été créée directement par kubectl, hors de l'API d'Argo CD. Le projet default, créé à l'installation, autorise tout et ne peut pas être supprimé : la documentation recommande de le vider, après avoir déplacé les Applications dans de vrais projets. Le projet complète la politique RBAC d'Argo CD, qui dit qui peut agir via l'API.
Dans les cours
- GitOps avec Argo CD, leçon 9 : Sécuriser Argo CD
- GitOps avec Argo CD, leçon 7 : Plusieurs clusters
- GitOps avec Argo CD, leçon 6 : ApplicationSet : des applications en série