Aller au contenu principal

Mise à niveau

Guide pas à pas, paquets OS compris : Mettre à niveau la Navin Platform.

  1. Lire les notes de version ; vérifier la compatibilité des contrats contracts/v1 (aucune rupture dans v1).
  2. CI : l'image signée est poussée dans Harbor et le job update-gitops met à jour deploy/gitops/<env>/image-tags.yaml.
  3. Dev puis staging : synchronisation automatique Argo CD. Le hook PreSync / pre-upgrade exécute python -m eai.migrate (migrations compatibles N-1 obligatoires : expand puis contract).
  4. Production : synchronisation manuelle (fenêtre de gel du vendredi soir au lundi matin dans l'AppProject), après sauvegarde Velero à la demande velero backup create pre-upgrade-<version> --from-schedule eai-platform-daily.
  5. Vérifications : /readyz, tableaux Platform overview et Gateway, GET /v1/audit/verify, tests k6 de fumée.
  6. Retour arrière : argocd app rollback enterprise-ai-prod <revision> ; la base n'est pas restaurée si les migrations sont additives, sinon PITR CNPG.

Opérateurs (Cilium, cert-manager, GPU Operator...) : modifier chart_versions dans deploy/terraform/modules/platform-bootstrap/variables.tf, tofu plan puis tofu apply, un opérateur à la fois.

Mise à niveau d'un site isolé​

  1. Sur la machine connectée : bash tools/release/build.sh, bash tools/release/verify-reproducible.sh, bash tools/release/sign.sh (refusé si un résultat Trivy HIGH ou CRITICAL n'est pas justifié).
  2. Sur le site : bash tools/release/verify.sh <bundle>, puis comparer release/manifests/<version>.json avec le manifeste de la version installée (artefacts modifiés, plage de migrations des notes de version docs/release/RELEASE_NOTES-<version>.md).
  3. Appliquer le chart du bundle (charts/enterprise-ai-<version>.tgz) ; les migrations SQL du bundle sont exécutées par le hook pre-upgrade.
  4. Limite : la mise à niveau sur cluster n'a pas été exécutée ici (aucun cluster de recette) ; seules la construction, la signature et la vérification hors ligne l'ont été.