Plateforme d'hébergement · partenaire freelance

Plateforme de déploiement GitOps multi-applications

En productionGitOps & Cloud · DevSecOps

Contexte

Plusieurs applications clientes, de technologies différentes, doivent tourner sur un même cluster Kubernetes auto-hébergé, avec la même rigueur de déploiement pour chacune.

Problème et contraintes

  • Éviter un jeu de manifestes écrit à la main par application, qui dérive avec le temps.
  • Aucun déploiement manuel en production : chaque changement doit être revu et traçable.
  • Des bases de données, des sauvegardes et des secrets à gérer sans les exposer dans Git en clair.

Décisions d'architecture et compromis

Dix-sept décisions d'architecture structurent la plateforme, notamment :

  • Un chart Helm générique unique, alimenté par un profil par application : le rendu est généré puis validé avant d'être commité, plutôt que des charts dupliqués.
  • Argo CD lit un dépôt GitOps dédié : l'état du cluster est celui de Git, et la promotion d'une version est une modification revue.
  • PostgreSQL opéré par CloudNativePG en production, avec une stratégie de stockage et de sauvegarde décidée en amont.
  • Un hôte canonique par application, et une stratégie explicite de namespaces, d'ingress et de TLS.

Sécurité et livraison

  • Secrets chiffrés avec SOPS dans Git : le dépôt peut être lu sans exposer de valeur.
  • Pipeline Jenkins de promotion : une nouvelle image est épinglée dans le profil, le rendu est validé, puis Argo CD synchronise.
  • Un point d'entrée unique pour valider localement avant toute promotion.

Résultats et état actuel

  • En production : la plateforme déploie aujourd'hui plusieurs applications (dont l'ONG médicale et la plateforme EdTech présentées ici).
  • Le portail utilisateur prévu au-dessus de la plateforme n'est pas encore construit.
← Toutes les réalisations