← Tous les projets
GitOps · Argo CD
Git comme seule source de vérité
Argo CD applique les manifestes de l'application de démonstration depuis son dépôt public et annule tout écart fait à la main, sans prendre au pipeline le choix de l'image.
- Argo CD
- Helm
- Kubernetes
- GitLab CI

Le problème
Les manifestes étaient appliqués à la main avec kubectl apply. Rien ne garantissait que le cluster restait identique au dépôt : une modification faite à la main y restait.
Ce que j'ai construit
- Argo CD v3.5.5 installé avec Helm (chart 10.10.5), valeurs versionnées. Version allégée : ni SSO, ni notifications, ni ApplicationSet, environ 300 Mio de mémoire.
- Synchronisation automatique : un objet retiré du dépôt est supprimé (prune), un objet modifié à la main est remis comme dans le dépôt (self-heal).
- Un AppProject qui limite l'application à un dépôt, un namespace et six types d'objets : un manifeste qui viserait autre chose est refusé.
- Interface réservée à l'administrateur, HTTPS terminé par l'ingress.
Choix et raisons
- Le pipeline garde le choix de l'image, après l'analyse Trivy. Argo CD ignore ce seul champ (ignoreDifferences avec RespectIgnoreDifferences) : les deux ne se battent pas.
- Commencer par une seule application, publique. Les autres attendront : leurs dépôts sont privés, et le bac à sable du lab est modifié en direct par les visiteurs.
Vérifié
- L'application passée à 3 réplicas à la main est revenue à 2 en 5 secondes.
- Un vrai pipeline a ensuite déployé une nouvelle version : l'application est restée « Synced » et « Healthy », avec la nouvelle image.
Limites et suite
Une seule application suivie, un seul environnement. La suite : un dépôt d'environnements (préproduction puis production par merge request) et le déploiement progressif avec Argo Rollouts.