# TP23 partie 2 : stratégie Blue/Green.
# L'image est celle de l'application instrumentée du TP21 (métriques /metrics, variable ERROR_RATE).
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: demo
  namespace: tp23
spec:
  replicas: 3
  revisionHistoryLimit: 3
  selector:
    matchLabels: { app: demo }
  template:
    metadata:
      labels: { app: demo }
    spec:
      containers:
        - name: demo
          image: TODO-registre/observability-demo:1.0.0
          env:
            - { name: APP_VERSION, value: "blue" }
            - { name: ERROR_RATE, value: "0.01" }
          ports: [{ name: http, containerPort: 3000 }]
          readinessProbe:
            httpGet: { path: /health, port: http }
          resources:
            requests: { cpu: 50m, memory: 64Mi }
            limits: { memory: 128Mi }
  strategy:
    blueGreen:
      activeService: demo-active
      previewService: demo-preview
      autoPromotionEnabled: false # bascule manuelle après vérification de la preview
      # TODO : garder l'ancienne version 60 s après la bascule pour un retour arrière instantané
      #        (scaleDownDelaySeconds)
