> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siderolabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrate Clusters to Talos Enterprise Linux

> How to move existing Talos clusters and machines to Talos Enterprise Linux images through SaaS Omni or talosctl.

Migrating an existing Talos cluster to Talos Enterprise Linux is an in-place upgrade. The migration changes the image source from the public Image Factory at `factory.talos.dev` to the Enterprise Image Factory at `factory.siderolabs.com`, while preserving the existing machine configuration and cluster state.

This guide explains how to migrate both standalone Talos Linux clusters and Omni-managed clusters, and how to verify that a node is running Talos Enterprise Linux.

You must have a valid Enterprise Image Factory account. If you cannot log in, contact [support](https://www.siderolabs.com/support).

## Migrate with SaaS Omni

Once your account is provisioned on Enterprise Image Factory, Omni switches each cluster to enterprise images on its next upgrade. No manual action is required beyond triggering that upgrade: any schematic change will do, whether bumping the Talos version, adding or removing a system extension, or changing kernel arguments. For a cluster already on the newest Talos version, changing a kernel argument is the simplest way to trigger this upgrade. Enterprise images exist for Talos 1.13 or later, so a cluster on an earlier version, or one that has not yet been upgraded, continues running open-source Talos Linux.

Omni does not offer a route back to open-source Talos Linux images for a cluster. For any Talos version both Image Factories serve, Omni uses Enterprise Image Factory. Which Image Factory Omni uses follows the Omni instance and its Enterprise Image Factory account rather than an individual cluster.

Where a machine's images come from depends on how it was provisioned. Installation media downloaded through the Omni UI or `omnictl media download` always comes from your provisioned Enterprise Image Factory account and is automatically enterprise. Disk images downloaded through Omni, such as AWS AMIs and pre-installed metal images, are enterprise on first boot. A machine booted from an open-source Talos Linux ISO is the exception: it appears as non-enterprise in the machine list, but creating a cluster from it starts the installation, and Omni pulls the enterprise installer, writes it to disk, and reboots the node into Talos Enterprise Linux.

## Migrate with talosctl

If you manage Talos machines without Omni, migration is a two-step process: add your Enterprise Image Factory credentials to the machine configuration, then run an upgrade targeting an enterprise installer image.

The `RegistryAuthConfig` document used in Step 1 is supported from Talos 1.12. Enterprise images require Talos 1.13 or later.

### Step 1: Add credentials to the machine configuration

Follow [Manage Enterprise Image Factory Credentials](./manage-credentials) to generate an API token and obtain the machine configuration patch for your organization. Once you have the patch, apply it to each node:

```bash theme={null}
talosctl patch machineconfig --nodes <node-IP> --patch credentials.yaml
```

The patch sits in the machine configuration and does nothing until an upgrade is triggered.

### Step 2: Run the upgrade

The schematic ID must come from Enterprise Image Factory — IDs from the public Image Factory are not valid here, as the owner is embedded in the ID. Use the wizard at `factory.siderolabs.com` or follow [Download images and artifacts](./download-images-and-artifacts) to get yours.

Run `talosctl upgrade` and pass an enterprise installer image from `factory.siderolabs.com`:

```bash theme={null}
talosctl upgrade --nodes <node-IP> \
  --image factory.siderolabs.com/metal-installer/<schematic-id>:<talos-version>
```

Talos uses the credentials in the machine configuration to authenticate against Enterprise Image Factory, pulls the installer image, installs it, and reboots the node into Talos Enterprise Linux.

Repeat for each node in the cluster.

## Verify a node is running Talos Enterprise Linux

After an upgrade, confirm a node is running Talos Enterprise Linux by checking its version name:

```bash theme={null}
talosctl get version --nodes <node-IP> --output yaml
```

In the output, look for the `name` field in the spec. `Talos Enterprise` means the node is running Talos Enterprise Linux. `Talos` means it is still running open-source Talos Linux.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.