Skip to main content

Upgrade

Step by step guide, OS packages included: Upgrade the Navin Platform.

  1. Read release notes; check contracts/v1 compatibility (no breaking change within v1).
  2. CI pushes the signed image to Harbor and update-gitops updates deploy/gitops/<env>/image-tags.yaml.
  3. Dev then staging sync automatically. The PreSync / pre-upgrade hook runs python -m eai.migrate (N-1 compatible migrations: expand then contract).
  4. Production: manual sync (freeze window Friday evening to Monday morning in the AppProject), after an on-demand Velero backup velero backup create pre-upgrade-<version> --from-schedule eai-platform-daily.
  5. Checks: /readyz, Platform overview and Gateway dashboards, GET /v1/audit/verify, k6 smoke tests.
  6. Rollback: argocd app rollback enterprise-ai-prod <revision>; database is kept if migrations are additive, otherwise CNPG PITR.

Operators: change chart_versions in deploy/terraform/modules/platform-bootstrap/variables.tf, tofu plan then tofu apply, one operator at a time.

Upgrading an isolated site​

  1. On the connected machine: bash tools/release/build.sh, bash tools/release/verify-reproducible.sh, bash tools/release/sign.sh (refused when a HIGH or CRITICAL Trivy finding is not justified).
  2. On site: bash tools/release/verify.sh <bundle>, then compare release/manifests/<version>.json with the manifest of the installed version (changed artefacts, migrations range of the release notes docs/release/en/RELEASE_NOTES-<version>.md).
  3. Apply the bundle chart (charts/enterprise-ai-<version>.tgz); the bundle SQL migrations run in the pre-upgrade hook.
  4. Limit: the cluster upgrade was not run here (no acceptance cluster); only the build, the signature and the offline verification were.