GoWeBaKnowledge Center

title: "Addendum 12 — Sandbox Blue-Green · Feature Flags — Août 2026" date: "2026-08-31" author: "ATLAS Engine"

Addendum 12 — Sandbox Blue-Green · Feature Flags

WS9 — Déploiement sécurisé zéro-downtime | Août 2026


1. Vue d’ensemble

Le workstream WS9 introduit une infrastructure de déploiement Blue-Green complète pour les deux Container Apps Azure (API + Frontend), ainsi qu’un système de Feature Flags intégré pour les dark-launches.


2. Blue-Green Deployment

2.1 Principe

Chaque déploiement crée une nouvelle révision qui reçoit initialement 0% du trafic (sandbox). Après vérification de santé, le trafic est basculé à 100% automatiquement. En cas d’échec, un rollback automatique ramène le trafic à la révision précédente.

2.2 Endpoints API

MéthodeEndpointDescription
GET/api/v1/admin/deploy/statusStatut des deux apps (revisions, trafic, santé)
GET/api/v1/admin/deploy/revisions?app=api|frontendListe des révisions d’une app
POST/api/v1/admin/deploy/trafficModifier la répartition du trafic entre révisions
POST/api/v1/admin/deploy/promotePromouvoir une révision sandbox à 100%
POST/api/v1/admin/deploy/rollbackRollback instantané à la révision précédente
GET/api/v1/admin/deploy/health?app=api|frontendVérification de santé des révisions actives
POST/api/v1/admin/deploy/cleanupDésactiver les anciennes révisions (garder N plus récentes)

2.3 Pipeline CI/CD amélioré

Avant WS9 :

  • Build → Deploy (simple update, trafic basculé immédiatement)

Après WS9 :

  • Build → Deploy nouvelle révision → Health Check (5 tentatives, intervalle 10s) → Auto-Promote si OK / Auto-Rollback si KO

3. Feature Flags

3.1 Fonctionnalités

  • Flags globaux : activé/désactivé pour toute la plateforme
  • Overrides par organisation : forcer ON/OFF pour une org spécifique
  • Rollout progressif : pourcentage (0-100%) avec hash déterministe par organisation
  • Expiration automatique : flag désactivé après une date limite

3.2 Endpoints API

MéthodeEndpointAuthDescription
GET/api/v1/feature-flags/:key/check?orgId=PublicVérifier si un flag est actif (utilisé par le frontend)
GET/api/v1/feature-flagsAdminLister tous les flags
GET/api/v1/feature-flags/:keyAdminDétail d’un flag
POST/api/v1/feature-flagsAdminCréer un flag
PUT/api/v1/feature-flags/:keyAdminModifier un flag
DELETE/api/v1/feature-flags/:keyAdminSupprimer un flag

3.3 Stockage

Table atlas.feature_flags créée automatiquement au démarrage (DDL onModuleInit) :

  • id UUID
  • key TEXT UNIQUE
  • enabled BOOLEAN
  • rollout_pct INT (0–100)
  • org_overrides JSONB
  • expires_at TIMESTAMPTZ

4. Cas d’utilisation

Dark-Launch d’une nouvelle fonctionnalité

  1. Créer le flag : POST /feature-flags avec { key: "ws14-video-hd", enabled: false }
  2. Déployer le code qui vérifie le flag
  3. Activer progressivement : PUT /feature-flags/ws14-video-hd avec { enabled: true, rolloutPercent: 10 }
  4. Monter graduellement : 10% → 25% → 50% → 100%

Rollback d’urgence

  1. POST /admin/deploy/rollback avec { app: "api" }
  2. Le trafic revient instantanément à la révision précédente
  3. Zéro downtime, zéro perte de données

5. Commits & Déploiement

  • Commit : 0f11d61feat(WS9): Blue-Green deploy module + feature flags + pipeline health-check auto-rollback
  • Build : #494 (MyAtlas API)
  • Fichiers créés :
    • src/modules/deploy/deploy.module.ts
    • src/modules/deploy/deploy.controller.ts
    • src/modules/deploy/deploy.service.ts
    • src/modules/deploy/feature-flags.controller.ts
    • src/modules/deploy/feature-flags.service.ts
  • Pipelines mis à jour : azure-pipelines.yml (MyAtlas + GoWeBa) — health check + auto-rollback

© 2024–2026 GOWEBA INC. — Make it Simple, Make it Possible, Make it Real.