LTS Migration – Kestra 1.0 to 1.3 icon LTS Migration – Kestra 1.0 to 1.3

Overview

Kestra 1.3.0 is a Long-Term Support (LTS) release. If you are upgrading directly from the previous LTS release (1.0), you must run the metadata migrations that were introduced in the intermediate 1.1 and 1.2 releases.

This guide consolidates all required steps into a single walkthrough so you can upgrade in one pass.

Required metadata migrations

Three migration commands must be run — all three are required for a complete upgrade from 1.0 to 1.3:

CommandIntroduced inScope
kestra migrate metadata kv1.1.0Key-Value Store metadata indexing
kestra migrate metadata secrets1.1.0Secrets metadata indexing (Enterprise Edition only)
kestra migrate metadata nsfiles1.2.0Namespace Files metadata indexing

Order of operations

  1. Stop Kestra — shut down all running Kestra server components to avoid inconsistent reads/writes during migration.
  2. Run all three migration commands (see examples below).
  3. Restart Kestra with the standard server command.

Docker Compose

Run each migration command by temporarily overriding the container command. Execute them one at a time — each command exits automatically when complete.

# Step 1 – KV metadata
kestra:
image: registry.kestra.io/docker/kestra:latest
command: migrate metadata kv
# Step 2 – Secrets metadata (Enterprise Edition only)
kestra:
image: registry.kestra.io/docker/kestra:latest
command: migrate metadata secrets
# Step 3 – Namespace Files metadata
kestra:
image: registry.kestra.io/docker/kestra:latest
command: migrate metadata nsfiles

After all three migrations complete, revert to the standard startup command:

kestra:
image: registry.kestra.io/docker/kestra:latest
command: server standalone --worker-thread=128

Kubernetes

For Kubernetes deployments, create a one-time Job (or Pod) that runs all three commands before restarting your regular Kestra server Pods:

/app/kestra migrate metadata kv \
&& /app/kestra migrate metadata secrets \
&& /app/kestra migrate metadata nsfiles

Once the Job completes successfully, roll out your updated Kestra server Pods as usual.

What happens if you skip these migrations

Skipped migrationImpact
kvThe Key-Value Store page in the UI appears empty. Flows continue to work — this is a UI-only issue.
secretsThe Secrets page in the UI appears empty (EE only). Flows continue to work — this is a UI-only issue.
nsfilesNamespace Files are inaccessible both in flows/tasks (e.g., namespaceFiles, read()) and in the UI.

All three migrations are safe to run retroactively — if you have already upgraded and notice missing data, running the commands will restore it immediately.

Further reading

Was this page helpful?