Upgrade
Step by step guide, OS packages included: Upgrade the Navin Platform.
- Read release notes; check
contracts/v1compatibility (no breaking change within v1). - CI pushes the signed image to Harbor and
update-gitopsupdatesdeploy/gitops/<env>/image-tags.yaml. - Dev then staging sync automatically. The
PreSync/pre-upgradehook runspython -m eai.migrate(N-1 compatible migrations: expand then contract). - 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. - Checks:
/readyz, Platform overview and Gateway dashboards,GET /v1/audit/verify, k6 smoke tests. - 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
- 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). - On site:
bash tools/release/verify.sh <bundle>, then comparerelease/manifests/<version>.jsonwith the manifest of the installed version (changed artefacts, migrations range of the release notesdocs/release/en/RELEASE_NOTES-<version>.md). - Apply the bundle chart (
charts/enterprise-ai-<version>.tgz); the bundle SQL migrations run in thepre-upgradehook. - Limit: the cluster upgrade was not run here (no acceptance cluster); only the build, the signature and the offline verification were.