Repository: spectrocloud/librarium
Pull request #6482: docs: PE-6539
Author: login: lennessyy
Created: 2025-04-17T17:24:46Z | Merged: 2025-04-17T23:36:07Z

## Describe the Change

<!-- Add a description of what the pull request is changing, adding, and any other relevant context.  -->

This PR adds the additional stylus upgrade steps needed to migrate off harbor to byor. 

## Changed Pages

<!-- Add a link to the preview URL generated by Netlify. Include direct links to the pages affected by the PR. -->

💻 [Add Preview URL for Page]()

## Jira Tickets

<!-- Add a link to the JIRA tickets (if applicable) -->

🎫 [PE-6539]()

## Backports

<!-- Add the relevant backport labels to reflect which versions of the docs your changes will affect. -->

Can this PR be backported?

- [ ] Yes. _Remember to add the relevant backport labels to your PR._
- [x] No. _Please leave a short comment below about why this PR cannot be backported._


[PE-6539]: https://spectrocloud.atlassian.net/browse/PE-6539?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ


Diff:
diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md
index 39d29d35722..598e7f1bbb1 100644
--- a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md
+++ b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md
@@ -59,6 +59,13 @@ Creating a content bundle provides several benefits that may address common use
   clusters. Download the latest version of the Palette Edge CLI from the
   [Downloads](../../../../spectro-downloads.md#palette-edge-cli) page to build the content bundle instead.
 
+- If your cluster uses the legacy **Harbor Edge-Native Config** pack, you cannot use the Palette CLI to build content
+  bundles or export cluster definitions. You must use the Palette Edge CLI.
+
+  Refer to
+  [Migrate From Harbor Edge-Native Config Pack](../../site-deployment/deploy-custom-registries/migrate-edge-native-config.md)
+  to learn how to migrate off the legacy pack to **Registry Connect** pack.
+
 ## Prerequisites
 
 - Linux Machine (Physical or VM) with an AMD64 architecture.
diff --git a/docs/docs-content/clusters/edge/local-ui/cluster-management/export-cluster-definition.md b/docs/docs-content/clusters/edge/local-ui/cluster-management/export-cluster-definition.md
index 09d8f1993f5..2bf28c3f552 100644
--- a/docs/docs-content/clusters/edge/local-ui/cluster-management/export-cluster-definition.md
+++ b/docs/docs-content/clusters/edge/local-ui/cluster-management/export-cluster-definition.md
@@ -23,6 +23,15 @@ Apple Silicon, use the API approach instead.
 You can export cluster definitions using either the Palette and Palette Edge CLI. This approach also allows you to
 create a content bundle at the same time with a single command.
 
+### Limitations
+
+- If your cluster uses the legacy **Harbor Edge-Native Config** pack, you cannot use the Palette CLI to build content
+  bundles or export cluster definitions. You must use the Palette Edge CLI.
+
+  Refer to
+  [Migrate From Harbor Edge-Native Config Pack](../../site-deployment/deploy-custom-registries/migrate-edge-native-config.md)
+  to learn how to migrate off the legacy pack to **Registry Connect** pack.
+
 ### Prerequisites
 
 - At least one [cluster profile](/docs/docs-content/profiles/cluster-profiles/cluster-profiles.md) in Palette.
diff --git a/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/migrate-edge-native-config.md b/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/migrate-edge-native-config.md
index ae65634171c..af7d52954fe 100644
--- a/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/migrate-edge-native-config.md
+++ b/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/migrate-edge-native-config.md
@@ -2,7 +2,7 @@
 sidebar_label: "Migrate from Harbor Edge-Native Config Pack"
 title: "Migrate from Harbor Edge-Native Config Pack"
 description:
-  "This page teaches you how to migrate from the Harbor Edge-Native Config Pack to the Registry Connect pack. "
+  "This page teaches you how to migrate from the Harbor Edge-Native Config Pack to the Registry Connect pack."
 hide_table_of_contents: false
 sidebar_position: 80
 tags: ["edge"]
@@ -13,55 +13,134 @@ deployment. Previously, this was implemented using the **Harbor Edge-Native Conf
 registry as well as handles image pull redirects.
 
 The **Harbor Edge-Native Config** pack has been deprecated and will no longer be supported in a future release. If you
-want to keep your cluster's registry infrastructure up-to-date, you need to migrate off of the legacy pack and use the
-new **Registry Connect** pack to implement the Harbor registry. This allows you to keep using the Harbor registry as the
+want to keep your cluster's registry infrastructure up-to-date, you need to migrate off the legacy pack and use the new
+**Registry Connect** pack to implement the Harbor registry. This allows you to keep using the Harbor registry as the
 primary registry and keep it up-to-date with the latest upstream updates.
 
 ## Limitations
 
-- When you migrate off of the **Harbor Edge-Native Config** pack, you cannot change the Harbor registry into another
+- When you migrate off the **Harbor Edge-Native Config** pack, you cannot change the Harbor registry into another
   registry. You must select the Harbor registry to use as the primary registry for your cluster.
 
-## Prerequisite
+## Prerequisites
 
 - An existing Edge cluster with the **Harbor Edge-Native Config** pack.
 
+- (Airgap only) A physical or virtual Linux machine with AMD64 (also known as x86_64) processor architecture. You can
+  issue the following command in the terminal to check your processor architecture. You need this machine to build a
+  content bundle needed to update the cluster.
+
+  ```bash
+  uname -m
+  ```
+
+- (Airgap only) The latest version of the Palette Edge CLI. Refer to the [Downloads](../../../../spectro-downloads.md)
+  page to download the CLI.
+
 ## Migrate from Harbor Edge-Native Config Pack to Registry Connect
 
-1. Log in to [Palette](https:/console.spectrocloud.com).
+1. [Log in to Local UI](../../local-ui/host-management/access-console.md) on your Edge host. On the home page, look to
+   the upper-right corner in the **Palette** card to determine the agent version. If your agent version is 4.6.12 or
+   earlier, you need to upgrade your agent version to 4.6.13 or later.
+
+   The steps to upgrade can be performed in parallel with migrating from the **Harbor Edge-Native Config** pack. This
+   guide will provide the applicable steps in parallel. If you want to upgrade first before performing the migration,
+   refer to [Configure Palette Agent Version](../../cluster-management/agent-upgrade-airgap.md) for the upgrade steps.
+
+2. Log in to [Palette](https:/console.spectrocloud.com).
+
+3. From the left main menu, click **Profiles**.
 
-2. From the left main menu, click **Profiles**.
+4. Select the profile you want to use to deploy your cluster.
 
-3. Select the profile you want to use to deploy your cluster.
+5. If your agent version is already 4.6.13 or later, you can skip this step.
 
-4. Remove the **Harbor Edge-Native Config** pack from the profile.
+   In the OS layer of the profile, include the following lines. Replace `versionNumber` with your target agent version
+   number. This version must be 4.6.13 or later.
 
-5. Click **Add New Pack** and select the <VersionedLink text="Harbor" url="/integrations/packs/?pack=harbor" /> pack.
+   ```yaml {10}
+   pack:
+     content:
+       images:
+         - image: "{{.spectro.pack.edge-native-byoi.options.system.uri}}"
+         - image: "container://us-docker.pkg.dev/palette-images/edge/stylus-linux-amd64:v<versionNumber>"
 
-6. In the **values.yaml**, update `charts.harbor.harborAdminPassword` to the _same password_ as your existing Harbor
+   options:
+     system.uri: ttl.sh/ubuntu:k3s-1.29.5-v4.5.8-palette-demo
+
+   stylusPackage: container://us-docker.pkg.dev/palette-images/edge/stylus-linux-amd64:v<versionNumber>
+   ```
+
+6. Remove the **Harbor Edge-Native Config** pack from the profile.
+
+7. Click **Add New Pack** and select the <VersionedLink text="Harbor" url="/integrations/packs/?pack=harbor" /> pack.
+
+8. In the **values.yaml**, update `charts.harbor.harborAdminPassword` to the _same password_ as your existing Harbor
    registry.
 
-7. If you have previously changed the serving port, PVC, or TLS certificates used by Harbor, you must modify the new
+9. If you have previously changed the serving port, PVC, or TLS certificates used by Harbor, you must modify the new
    Harbor pack parameters to match your previous configurations. Update node port, TLS certificates, and PVC
-   configuration using the following parameters.
+   configuration using the following parameters:
 
    - `charts.harbor.expose.nodePort`
    - `charts.harbor.expose.tls`
    - `charts.harbor.persistence.persistentVolumeClaim`
 
-8. Click **Confirm & Create**.
+10. Click **Confirm & Create**.
 
 <!-- prettier-ignore -->
-9. Click **Add New Pack**. Select the <VersionedLink text="Registry Connect" url="/integrations/packs/?pack=registry-connect" /> pack and select the
-   **Harbor Internal Registry** preset.
+11. Click **Add New Pack**. Select the <VersionedLink text="Registry Connect" url="/integrations/packs/?pack=registry-connect" /> pack and select the **Harbor Internal Registry** preset.
 
-10. Click **Confirm & Create**.
+12. Click **Confirm & Create**.
+
+13. Save a new version of your cluster profile.
+
+<Tabs group="deployment">
+
+<TabItem value="Connected">
+
+14. Update your cluster to use the new profile. Refer to
+    [Update a Cluster](../../../cluster-management/cluster-updates.md) for more information.
+
+</TabItem>
+
+<TabItem value="Disconnected (Airgap)">
+
+14. Use the following command to build a new content bundle and cluster definition. For more information, refer to
+    [Export Cluster Definition](../../local-ui/cluster-management/export-cluster-definition.md) for more information.
+
+    ```shell
+     palette-edge build --api-key <API_KEY> \
+     --project-id <PROJECT_ID> \
+     --cluster-profile-ids <CLUSTER_PROFILE_ID1,CLUSTER_PROFILE_ID2...> \
+     --palette-endpoint <PALETTE_API_ENDPOINT> \
+     --outfile <BUNDLE_NAME> \
+     --cred-file-path <FILE_PATH> \
+     --include-palette-content \
+     --cluster-definition-name <CLUSTER_DEFINITION_FILENAME> \
+     --cluster-definition-profile-ids <CLUSTER_PROFILE_IDS>
+    ```
+
+    | Flag                         | Description                                                                                                                                                                                                                                                                                                                            |
+    | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+    | `--api-key`                  | Your Palette API key.                                                                                                                                                                                                                                                                                                                  |
+    | `--cluster-profile-ids`      | Comma-separated list of cluster profile IDs to download content for.                                                                                                                                                                                                                                                                   |
+    | `--cred-file-path`           | Path to the JSON file storing registry credentials if you are using a private registry.                                                                                                                                                                                                                                                |
+    | `--include-palette-content`  | Whether to include images for the Palette agent itself, including images to support cluster creation and cluster management. For airgap installations, you must use either this option or the `--include-core-images-only` option. We recommend you use `--include-core-images-only` instead to reduce the size of the content bundle. |
+    | `--include-core-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. In airgap installations, we recommend using this option instead of `--include-palette-content` to reduce the size of the content bundle, as Local UI currently does not offer native backup and support features.                        |
+    | `--outfile`                  | Name of your content bundle. The final file name should have the following pattern: `core-<bundle-name>-random-string`.                                                                                                                                                                                                                |
+    | `--palette-endpoint`         | API endpoint for your Palette instance.                                                                                                                                                                                                                                                                                                |
+    | `--project-id`               | The ID of your Palette project.                                                                                                                                                                                                                                                                                                        |
+    | `--private-key`              | The path to the private key used to sign the content bundle and cluster definition if it is present. This is necessary if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../edgeforge-workflow/palette-canvos/signed-content.md).                     |
+
+15. [Upload the new content bundle](../../local-ui/cluster-management/upload-content-bundle.md) to your Edge host.
+
+16. Using the new cluster definition, update your cluster. Refer to
+    [Update Local Cluster](../../local-ui/cluster-management/update-cluster.md) for more information.
 
-11. Save a new version of your cluster profile.
+</TabItem>
 
-12. Update your cluster to use the new profile. Refer to
-    [Update a Cluster](../../../cluster-management/cluster-updates.md) for updating connected clusters and
-    [Update Local Cluster](../../local-ui/cluster-management/update-cluster.md) for updating disconnected clusters.
+</Tabs>
 
 ## Validate
 


Reviews:
user: login: github-actions[bot]
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-17T17:27:44Z
user: login: addetz
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-17T17:33:36Z
user: login: addetz
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-17T17:46:01Z
user: login: lennessyy
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-17T23:35:59Z

Review comments:
diff_hunk: @@ -13,55 +13,134 @@ deployment. Previously, this was implemented using the **Harbor Edge-Native Conf
 registry as well as handles image pull redirects.
 
 The **Harbor Edge-Native Config** pack has been deprecated and will no longer be supported in a future release. If you
-want to keep your cluster's registry infrastructure up-to-date, you need to migrate off of the legacy pack and use the
-new **Registry Connect** pack to implement the Harbor registry. This allows you to keep using the Harbor registry as the
+want to keep your cluster's registry infrastructure up-to-date, you need to migrate off the legacy pack and use the new
+**Registry Connect** pack to implement the Harbor registry. This allows you to keep using the Harbor registry as the
 primary registry and keep it up-to-date with the latest upstream updates.
 
 ## Limitations
 
-- When you migrate off of the **Harbor Edge-Native Config** pack, you cannot change the Harbor registry into another
+- When you migrate off the **Harbor Edge-Native Config** pack, you cannot change the Harbor registry into another
   registry. You must select the Harbor registry to use as the primary registry for your cluster.
 
-## Prerequisite
+## Prerequisites
 
 - An existing Edge cluster with the **Harbor Edge-Native Config** pack.
 
+- (Airgap only) A physical or virtual Linux machine with AMD64 (also known as x86_64) processor architecture. You can
+  issue the following command in the terminal to check your processor architecture. You need this machine to build a
+  content bundle needed to update the cluster.
+
+  ```bash
+  uname -m
path: docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/migrate-edge-native-config.md
user: login: github-actions[bot]
body: 🚫 **[vale]** <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>[spectrocloud-docs-internal.longform] Avoid using the short form of commands. Replace the short form flag in 'uname -m' with the corresponding long form flag.
created_at: 2025-04-17T17:27:44Z
author_association: CONTRIBUTOR
diff_hunk: @@ -13,55 +13,134 @@ deployment. Previously, this was implemented using the **Harbor Edge-Native Conf
 registry as well as handles image pull redirects.
 
 The **Harbor Edge-Native Config** pack has been deprecated and will no longer be supported in a future release. If you
-want to keep your cluster's registry infrastructure up-to-date, you need to migrate off of the legacy pack and use the
-new **Registry Connect** pack to implement the Harbor registry. This allows you to keep using the Harbor registry as the
+want to keep your cluster's registry infrastructure up-to-date, you need to migrate off the legacy pack and use the new
+**Registry Connect** pack to implement the Harbor registry. This allows you to keep using the Harbor registry as the
 primary registry and keep it up-to-date with the latest upstream updates.
 
 ## Limitations
 
-- When you migrate off of the **Harbor Edge-Native Config** pack, you cannot change the Harbor registry into another
+- When you migrate off the **Harbor Edge-Native Config** pack, you cannot change the Harbor registry into another
   registry. You must select the Harbor registry to use as the primary registry for your cluster.
 
-## Prerequisite
+## Prerequisites
 
 - An existing Edge cluster with the **Harbor Edge-Native Config** pack.
 
+- (Airgap only) A physical or virtual Linux machine with AMD64 (also known as x86_64) processor architecture. You can
+  issue the following command in the terminal to check your processor architecture. You need this machine to build a
+  content bundle needed to update the cluster.
+
+  ```bash
+  uname -m
+  ```
+
+- (Airgap only) The latest version of the Palette Edge CLI. Refer to the [Downloads](../../../../spectro-downloads.md)
+  page to download the CLI.
+
 ## Migrate from Harbor Edge-Native Config Pack to Registry Connect
 
-1. Log in to [Palette](https:/console.spectrocloud.com).
+1. [Log in to Local UI](../../local-ui/host-management/access-console.md) on your Edge host. On the home page, look to
+   the upper-right corner in the **Palette** card to determine the agent version. If your agent version is 4.6.12 or
+   earlier, you need to upgrade your agent version to 4.6.13 or later.
+
+   The steps to upgrade can be performed in parallel with migrating from the **Harbor Edge-Native Config** pack. This
+   guide will provide the applicable steps in parallel. If you want to upgrade first before performing the migration,
+   refer to [Configure Palette Agent Version](../../cluster-management/agent-upgrade-airgap.md) for the upgrade steps.
+
+2. Log in to [Palette](https:/console.spectrocloud.com).
+
+3. From the left main menu, click **Profiles**.
 
-2. From the left main menu, click **Profiles**.
+4. Select the profile you want to use to deploy your cluster.
 
-3. Select the profile you want to use to deploy your cluster.
+5. If your agent version is already 4.6.13 or later, you can skip this step.
 
-4. Remove the **Harbor Edge-Native Config** pack from the profile.
+   In the OS layer of the profile, include the following lines. Replace `versionNumber` with your target agent version
+   number. This version must be 4.6.13 or later.
 
-5. Click **Add New Pack** and select the <VersionedLink text="Harbor" url="/integrations/packs/?pack=harbor" /> pack.
+   ```yaml {10}
+   pack:
+     content:
+       images:
+         - image: "{{.spectro.pack.edge-native-byoi.options.system.uri}}"
+         - image: "container://us-docker.pkg.dev/palette-images/edge/stylus-linux-amd64:v<versionNumber>"
 
-6. In the **values.yaml**, update `charts.harbor.harborAdminPassword` to the _same password_ as your existing Harbor
+   options:
+     system.uri: ttl.sh/ubuntu:k3s-1.29.5-v4.5.8-palette-demo
+
+   stylusPackage: container://us-docker.pkg.dev/palette-images/edge/stylus-linux-amd64:v<versionNumber>
+   ```
+
+6. Remove the **Harbor Edge-Native Config** pack from the profile.
+
+7. Click **Add New Pack** and select the <VersionedLink text="Harbor" url="/integrations/packs/?pack=harbor" /> pack.
+
+8. In the **values.yaml**, update `charts.harbor.harborAdminPassword` to the _same password_ as your existing Harbor
    registry.
 
-7. If you have previously changed the serving port, PVC, or TLS certificates used by Harbor, you must modify the new
+9. If you have previously changed the serving port, PVC, or TLS certificates used by Harbor, you must modify the new
    Harbor pack parameters to match your previous configurations. Update node port, TLS certificates, and PVC
-   configuration using the following parameters.
+   configuration using the following parameters:
 
    - `charts.harbor.expose.nodePort`
    - `charts.harbor.expose.tls`
    - `charts.harbor.persistence.persistentVolumeClaim`
 
-8. Click **Confirm & Create**.
+10. Click **Confirm & Create**.
 
 <!-- prettier-ignore -->
-9. Click **Add New Pack**. Select the <VersionedLink text="Registry Connect" url="/integrations/packs/?pack=registry-connect" /> pack and select the
-   **Harbor Internal Registry** preset.
+11. Click **Add New Pack**. Select the <VersionedLink text="Registry Connect" url="/integrations/packs/?pack=registry-connect" /> pack and select the **Harbor Internal Registry** preset.
 
-10. Click **Confirm & Create**.
+12. Click **Confirm & Create**.
+
+13. Save a new version of your cluster profile.
+
+<Tabs group="deployment">
+
+<TabItem value="Connected">
+
+14. Update your cluster to use the new profile. Refer to
+    [Update a Cluster](../../../cluster-management/cluster-updates.md) for more information.
+
+</TabItem>
+
+<TabItem value="Disconnected (Airgap)">
+
+14. Use the following command to build a new content bundle and cluster definition. For more information, refer to
+    [Export Cluster Definition](../../local-ui/cluster-management/export-cluster-definition.md) for more information.
+
+    ```shell
+     palette-edge build --api-key <API_KEY> \
path: docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/migrate-edge-native-config.md
user: login: addetz
body: Should we use palette CLI? Otherwise, this will need rewriting next month.
created_at: 2025-04-17T17:33:21Z
author_association: CONTRIBUTOR
diff_hunk: @@ -13,55 +13,134 @@ deployment. Previously, this was implemented using the **Harbor Edge-Native Conf
 registry as well as handles image pull redirects.
 
 The **Harbor Edge-Native Config** pack has been deprecated and will no longer be supported in a future release. If you
-want to keep your cluster's registry infrastructure up-to-date, you need to migrate off of the legacy pack and use the
-new **Registry Connect** pack to implement the Harbor registry. This allows you to keep using the Harbor registry as the
+want to keep your cluster's registry infrastructure up-to-date, you need to migrate off the legacy pack and use the new
+**Registry Connect** pack to implement the Harbor registry. This allows you to keep using the Harbor registry as the
 primary registry and keep it up-to-date with the latest upstream updates.
 
 ## Limitations
 
-- When you migrate off of the **Harbor Edge-Native Config** pack, you cannot change the Harbor registry into another
+- When you migrate off the **Harbor Edge-Native Config** pack, you cannot change the Harbor registry into another
   registry. You must select the Harbor registry to use as the primary registry for your cluster.
 
-## Prerequisite
+## Prerequisites
 
 - An existing Edge cluster with the **Harbor Edge-Native Config** pack.
 
+- (Airgap only) A physical or virtual Linux machine with AMD64 (also known as x86_64) processor architecture. You can
+  issue the following command in the terminal to check your processor architecture. You need this machine to build a
+  content bundle needed to update the cluster.
+
+  ```bash
+  uname -m
+  ```
+
+- (Airgap only) The latest version of the Palette Edge CLI. Refer to the [Downloads](../../../../spectro-downloads.md)
+  page to download the CLI.
+
 ## Migrate from Harbor Edge-Native Config Pack to Registry Connect
 
-1. Log in to [Palette](https:/console.spectrocloud.com).
+1. [Log in to Local UI](../../local-ui/host-management/access-console.md) on your Edge host. On the home page, look to
+   the upper-right corner in the **Palette** card to determine the agent version. If your agent version is 4.6.12 or
+   earlier, you need to upgrade your agent version to 4.6.13 or later.
+
+   The steps to upgrade can be performed in parallel with migrating from the **Harbor Edge-Native Config** pack. This
+   guide will provide the applicable steps in parallel. If you want to upgrade first before performing the migration,
+   refer to [Configure Palette Agent Version](../../cluster-management/agent-upgrade-airgap.md) for the upgrade steps.
+
+2. Log in to [Palette](https:/console.spectrocloud.com).
+
+3. From the left main menu, click **Profiles**.
 
-2. From the left main menu, click **Profiles**.
+4. Select the profile you want to use to deploy your cluster.
 
-3. Select the profile you want to use to deploy your cluster.
+5. If your agent version is already 4.6.13 or later, you can skip this step.
 
-4. Remove the **Harbor Edge-Native Config** pack from the profile.
+   In the OS layer of the profile, include the following lines. Replace `versionNumber` with your target agent version
+   number. This version must be 4.6.13 or later.
 
-5. Click **Add New Pack** and select the <VersionedLink text="Harbor" url="/integrations/packs/?pack=harbor" /> pack.
+   ```yaml {10}
+   pack:
+     content:
+       images:
+         - image: "{{.spectro.pack.edge-native-byoi.options.system.uri}}"
+         - image: "container://us-docker.pkg.dev/palette-images/edge/stylus-linux-amd64:v<versionNumber>"
 
-6. In the **values.yaml**, update `charts.harbor.harborAdminPassword` to the _same password_ as your existing Harbor
+   options:
+     system.uri: ttl.sh/ubuntu:k3s-1.29.5-v4.5.8-palette-demo
+
+   stylusPackage: container://us-docker.pkg.dev/palette-images/edge/stylus-linux-amd64:v<versionNumber>
+   ```
+
+6. Remove the **Harbor Edge-Native Config** pack from the profile.
+
+7. Click **Add New Pack** and select the <VersionedLink text="Harbor" url="/integrations/packs/?pack=harbor" /> pack.
+
+8. In the **values.yaml**, update `charts.harbor.harborAdminPassword` to the _same password_ as your existing Harbor
    registry.
 
-7. If you have previously changed the serving port, PVC, or TLS certificates used by Harbor, you must modify the new
+9. If you have previously changed the serving port, PVC, or TLS certificates used by Harbor, you must modify the new
    Harbor pack parameters to match your previous configurations. Update node port, TLS certificates, and PVC
-   configuration using the following parameters.
+   configuration using the following parameters:
 
    - `charts.harbor.expose.nodePort`
    - `charts.harbor.expose.tls`
    - `charts.harbor.persistence.persistentVolumeClaim`
 
-8. Click **Confirm & Create**.
+10. Click **Confirm & Create**.
 
 <!-- prettier-ignore -->
-9. Click **Add New Pack**. Select the <VersionedLink text="Registry Connect" url="/integrations/packs/?pack=registry-connect" /> pack and select the
-   **Harbor Internal Registry** preset.
+11. Click **Add New Pack**. Select the <VersionedLink text="Registry Connect" url="/integrations/packs/?pack=registry-connect" /> pack and select the **Harbor Internal Registry** preset.
 
-10. Click **Confirm & Create**.
+12. Click **Confirm & Create**.
+
+13. Save a new version of your cluster profile.
+
+<Tabs group="deployment">
+
+<TabItem value="Connected">
+
+14. Update your cluster to use the new profile. Refer to
+    [Update a Cluster](../../../cluster-management/cluster-updates.md) for more information.
+
+</TabItem>
+
+<TabItem value="Disconnected (Airgap)">
+
+14. Use the following command to build a new content bundle and cluster definition. For more information, refer to
+    [Export Cluster Definition](../../local-ui/cluster-management/export-cluster-definition.md) for more information.
+
+    ```shell
+     palette-edge build --api-key <API_KEY> \
path: docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/migrate-edge-native-config.md
user: login: lennessyy
body: As discussed, because using Palette CLI to do the upgrade is not verified, we won't document it for now. We can verify and document after release if necessary. 
created_at: 2025-04-17T23:35:59Z
author_association: CONTRIBUTOR

PR comments:
user: login: netlify[bot]
created_at: 2025-04-17T17:25:04Z
body: ### <span aria-hidden="true">✅</span> Deploy Preview for *docs-spectrocloud* ready!


|  Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">🔨</span> Latest commit | 4d09c6f2e2464166c920012f134b9058020ca855 |
|<span aria-hidden="true">🔍</span> Latest deploy log | https://app.netlify.com/sites/docs-spectrocloud/deploys/6801442d6c7b7c000887858f |
|<span aria-hidden="true">😎</span> Deploy Preview | [https://deploy-preview-6482--docs-spectrocloud.netlify.app](https://deploy-preview-6482--docs-spectrocloud.netlify.app) |
|<span aria-hidden="true">📱</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br />![QR Code](https://app.netlify.com/qr-code/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1cmwiOiJodHRwczovL2RlcGxveS1wcmV2aWV3LTY0ODItLWRvY3Mtc3BlY3Ryb2Nsb3VkLm5ldGxpZnkuYXBwIn0.pEtHplUjpkYCfertW8fToqz3lqvN0Q-HdBdrZMHX3CQ)<br /><br />_Use your smartphone camera to open QR code link._</details> |
---
<!-- [docs-spectrocloud Preview](https://deploy-preview-6482--docs-spectrocloud.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify site configuration](https://app.netlify.com/sites/docs-spectrocloud/configuration/notifications#deploy-webhooks)._
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-17T17:26:43Z
body: <!-- add-pr-comment:add-pr-comment -->

🤖 Netlify configured to enable preview build for branch:  pe-6539 . Subsequent commits will automatically trigger a Netlify build preview.
author_association: CONTRIBUTOR