Skip to main content
Upcoming release — Zylon 1.58These docs are published ahead of release so you can prepare your API integrations. The release image is not yet available. For installations running 1.57, use the 1.57 documentation.
Zylon CLI 2.9.0 or later is required. The commands used in this guide are not available in earlier CLI versions.
If you maintain an API integration, review the 1.57 → 1.58 API migration guide before upgrading. Creator IDs now identify accounts; member operations still use workspace-member IDs. For clients that depend on these IDs, migrate the affected calls to the current API and update saved ID mappings. Legacy URLs do not preserve the complete 1.57 identity contract.

What changed

1.58 requires two manual steps that the CLI does not run on its own. Run both once 1.58 is installed and all pods are ready:
  • Skill and Document backfill. Existing Skills and Documents must be backfilled with zylon-cli backfill-projections.
  • Higher pod limit on the node. The Kubernetes node must allow up to 200 pods. New installations get this limit automatically; existing installations apply it with zylon-cli configure --max-pods 200. This restarts k0s, so all Zylon services will be briefly unavailable.
If you use the baseline-96g preset, there is one more step before installing:
  • New baseline-96g model. baseline-96g now runs nvidia/Qwen3.8-27B-NVFP4 instead of cyankiwi/qwen3.5-27b-awq-4bit. Download it before installing 1.58. To keep the previous model, set ai.preset: "deprecated.96g.20261008".

How to upgrade

If you need help, open a support ticket and our engineering team will assist you.

Step 1: Install 1.58

Follow the steps for your installation type.
1

Update the CLI (required)

If the command fails or the version does not change, run the fallback installer:
2

Download the new 96g model (only for baseline-96g)

Skip this step if you do not use the baseline-96g preset.
3

Install 1.58

For full environment details and troubleshooting, see the Online update guide.

Step 2: Wait until all pods are ready

Wait until every pod in the zylon namespace shows all its containers ready (for example 1/1) and Running (or Completed for jobs):

Step 3: Apply the 1.58 changes

Run the same commands for every installation type. No internet access is needed.
The backfill rewrites existing Skills and Documents and cannot be undone. Always run it with --dry-run first and check the output before running it for real.
The last line of each backfill run shows the result. Numbers depend on your data; failures must always be 0:
Run the backfill before raising the pod limit: the backfill needs the platform running, and the k0s restart would interrupt it.

Troubleshooting

If the error says container not found ("zylon-backend"), the node was restarted recently and is not ready to run commands yet. Wait a few minutes until sudo kubectl -n zylon exec deploy/zylon-zylon-backend -- true succeeds, then retry. Nothing was changed.Otherwise, make sure every pod in the zylon namespace is ready, run it again with --dry-run and check the output. If the dry run also fails, open a support ticket before running the real backfill.
The command only edits /etc/k0s/k0s.yaml when it matches the layout generated by the Zylon CLI. Otherwise it stops and prints the manual steps:
  1. Add maxPods: 200 under spec.workerProfiles → default → values in /etc/k0s/k0s.yaml.
  2. Restart k0s:
  1. Check that the new limit is active: