1. Services
helm upgrade.2. Products
base1 → base2 → extended → one-product.Before you start
Read the release notes
vMAJOR.MINOR.PATCH since v27 (for example v27.4.2). Releases before v27 used a date-stamped form such as v26.03.161453.Back up your databases and storage
- Permissions store, users store and collections store (MongoDB or PostgreSQL)
- Elasticsearch or OpenSearch (events, and RAG indexes if self-hosted)
- Redis (broker streams and caches)
- Object storage buckets (workspace models, uploads)
Check database compatibility
Record your rollback point
Push any local changes on product workspaces
discardLocalChanges: true. Any edit you made in Builder on a product workspace (LLM Gateway, Storage, Governe, Agent Creator, Secure-chat Agent, …) is overwritten by the upgrade.If you customized one of them, push it to your own Git repository first so you can replay the change afterwards. See Versioning.1. Upgrade the platform services
The services to update
Prisme.ai runs as two Helm releases. Every image tag in both must move to the target release.Bump the tags
Inprismeai-core-values.yaml, set the same tag on all five core services:
prismeai-functions, prismeai-crawler and prismeai-searchengine in prismeai-apps-values.yaml.
prismeai-console also needs its image.repository switched to the unified platform image; follow Migration v27 instead of this page.Deploy
global.secrets.allowCreation: false in your values, as set after the first install. See Secret bootstrapping.Watch the rollout
Confirm every service is on the target tag
This is the gate before phase 2. Verify it explicitly rather than assuming the rollout was complete:- Call the readiness API:
curl -H "Authorization: Bearer YOUR_JWT" https://api.your-domain.com/v2/readinessshould return"status": "ready". - Open Govern → Infrastructure and run the Test buttons in the Services block.
2. Update the products
The products are shipped as workspaces and updated through the Platform workspace bulk import, in four sequential groups.base1
base2
extended
one-product
From the UI
Open the Platform workspace
Trigger the pull
Select the group and start the import
base1, start the import, and close the modal.Monitor progress
workspaces.bulkImport.completed event and check that its errors list is empty.Repeat for the next group
base2 → extended → one-product.From the API
The same import can be triggered without the UI:base2, extended, then one-product.
If the HTTP request times out, the response returns { "processing": true } and the import keeps running; the final result is in the workspaces.bulkImport.completed event.
What the import actually does
Behavior that matters specifically on an upgrade (full mechanics in Bulk import):- Already up-to-date workspaces are skipped. The platform compares
version.namefrom the repository’s.import.ymlwith the workspace’slastPull.version. On a patch release, most workspaces are legitimately reported asskipped. PassforceReimport: trueto reimport them anyway. - Local changes are discarded. Imports always run with
discardLocalChanges: true. - Dependencies are ordered automatically. Workspaces are topologically sorted through their
dependsOndeclarations inside each group. - Only one bulk operation at a time. The Platform workspace holds a cluster-wide write lock for the duration of the import.
3. Verify the imports
An upgrade is only confirmed once every group imported without errors. There are two places to check.The Platform workspace activity feed
All bulk import events are emitted to the Platform workspace and visible from its Activity view:workspaces.bulkImport.completed event and read its payload. An empty errors list is the confirmation that the group imported correctly. If errors is populated, each entry names the workspace and the reason; fix the cause and re-import that group before moving on.
Individual workspace events (workspaces.imported, workspaces.versions.progress) are also emitted in each product workspace’s own activity feed if you need per-workspace detail.
The workspaces service logs
The same detailed error list is written by the service that performs the import:prismeai-core, the deployment name follows the <release>-prismeai-workspaces pattern. List it with kubectl get deploy -n prismeai-core | grep workspaces.STARTUP_IMPORT_GROUPS, before anyone could open the UI), or when an import fails early enough that no completed event is emitted.
Functional checks
Once the four groups are in, confirm the platform behaves:Readiness and infrastructure
/v2/readiness again, then run the Test buttons in Govern → Infrastructure, including the Vector store block.Models
Products
Custom code
Database compatibility
Per-engine upgrade notes and version requirements live on the dedicated database pages:PostgreSQL
sslmode=require.MongoDB
Elasticsearch or OpenSearch
Redis
Managing the upgrade with Terraform
If your Helm releases are declared ashelm_release resources, bump the chart version there instead of running helm upgrade by hand:
Rollback
Roll the services back
helm upgrade. Prefer this second option when your values are the source of truth in Git.Re-pull the products at the previous release
base1 → base2 → extended → one-product), selecting the previous release repository.Up-to-date workspaces are skipped by default, which would leave the newer versions in place. Force the reimport through the API so the older versions are actually written back:Restore databases only if needed
Verify
Troubleshooting
Bulk import reports errors
Bulk import reports errors
workspaces.bulkImport.completed event in the Platform workspace activity feed and read the errors payload, or check prismeai-workspaces logs. Resolve missing dependencies or slug conflicts, then re-import the failed group. Do not start the next group until the failed one completes cleanly.Could not rename workspace slug ... as it is already used
Could not rename workspace slug ... as it is already used
Every workspace is reported as skipped
Every workspace is reported as skipped
version.name with lastPull.version. If you need to force a reimport, pass forceReimport: true in the pull payload.Automations do nothing, or activity events are missing
Automations do nothing, or activity events are missing
Pods stay in ImagePullBackOff after the bump
Pods stay in ImagePullBackOff after the bump
prismeai-apps namespace, recreate the pull secret:Custom Code apps fail after the import
Custom Code apps fail after the import
prismeai-functions logs for dependency installation errors. If dependencies are still installing or missing, re-save the affected Custom Code app to restart installation.A customization disappeared after the upgrade
A customization disappeared after the upgrade
update-agent for the Secure Chat agent, see Install products).