Repository: spectrocloud/librarium
Pull request #6716: docs: content upload command
Author: login: caroldelwing
Created: 2025-05-07T15:48:54Z | Merged: 2025-05-21T19:57:57Z

## Describe the Change

<!-- Add a description of what the pull request is changing, adding, and any other relevant context.  -->

This PR documents the new `content upload` subcommand.
It also removes the `--include-all-palette-images` flag from the `content build` command and improves several pages associated with the `content` command.

## Changed Pages

<!-- Add a link to the preview URL generated by Netlify. Include direct links to the pages affected by the PR. -->

💻 [Content command](https://deploy-preview-6716--docs-spectrocloud.netlify.app/automation/palette-cli/commands/content/) - Added the upload command, updated several flags of the build command, improved the examples, added links to how-to guides.
💻 [Upload Content Bundle](https://deploy-preview-6716--docs-spectrocloud.netlify.app/clusters/edge/local-ui/cluster-management/upload-content-bundle/) - Added CLI workflow to upload content bundle to Edge host.
💻 [Upload Cluster Images to Registry with the CLI](https://deploy-preview-6716--docs-spectrocloud.netlify.app/clusters/edge/site-deployment/deploy-custom-registries/upload-images-to-registry/) - Added extra `registry-login` step to authenticate with external registry.
💻 [Build Content Bundle](https://deploy-preview-6716--docs-spectrocloud.netlify.app/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle/) - Removed references to `--include-all-palette-images` and updated the `--include-core-palette-images-only` flag description. 

## Jira Tickets

<!-- Add a link to the JIRA tickets (if applicable) -->

🎫 [PLT-1677](https://spectrocloud.atlassian.net/browse/PLT-1677)
🎫 [DOC-1885](https://spectrocloud.atlassian.net/browse/DOC-1885)
🎫 [PE-6597](https://spectrocloud.atlassian.net/browse/PE-6597)
🎫 [PLT-1781](https://spectrocloud.atlassian.net/browse/PLT-1781)

## 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._
- [ ] No. _Please leave a short comment below about why this PR cannot be backported._


[PLT-1677]: https://spectrocloud.atlassian.net/browse/PLT-1677?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[DOC-1885]: https://spectrocloud.atlassian.net/browse/DOC-1885?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[PE-6597]: https://spectrocloud.atlassian.net/browse/PE-6597?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ


Diff:
diff --git a/docs/docs-content/automation/palette-cli/commands/content.md b/docs/docs-content/automation/palette-cli/commands/content.md
index 3c29b80509a..3244171e33d 100644
--- a/docs/docs-content/automation/palette-cli/commands/content.md
+++ b/docs/docs-content/automation/palette-cli/commands/content.md
@@ -12,7 +12,8 @@ The `content` command supports the creation and management of
 [content bundles](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md), which are archives
 containing all the images and artifacts required for deploying an Edge cluster. You can also use this command to export
 [cluster definitions](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) from one or more
-cluster profiles in Palette and use the definition to provision an Edge cluster.
+cluster profiles in Palette, and to
+[upload content bundles](../../../clusters/edge/local-ui/cluster-management/upload-content-bundle.md) to Edge hosts.
 
 ## Prerequisites
 
@@ -39,10 +40,14 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
@@ -50,64 +55,119 @@ palette content build [flags]
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `.tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to redownload images, charts, and raw files that are already present in local bundles.                                                                                                                                                                                             | string  |
+| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                    | string  |
+|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                               | boolean |
+| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                            | -       |
+|            | `--include-core-palette-images-only` | Whether to include only the essential Palette images required for cluster creation, excluding day-2 images. This option is recommended for airgap installations to reduce the size of the content bundle. By default, this flag is set to `false`, and the `build` command includes both core and day-2 images.                                                                             | boolean |
+|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                      | boolean |
+| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                             | boolean |
+| `-f`       | `--metadata-file`                    | The file path to the content bundle definition metadata file `bundle-definition.yaml` to be used for building the content bundle.                                                                                                                                                                                                                                                           | string  |
+|            | `--metadata-only`                    | If enabled, only the bundle definition metadata file `bundle-definition.yaml` is generated. You can edit this file, for example to change a registry path, and then use it with the `--metadata-file` flag to build a content bundle.                                                                                                                                                       | boolean |
+| `-n`       | `--name`                             | The name of the content bundle. This is required to generate bundles with unique names. If not provided, the command generates a default name in the `<bundle>-<project-id>` format, which is not unique and may lead to issues, as bundles using the same default name can be overwritten during [upload](#upload) to Local UI.                                                            | string  |
+| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                               | string  |
+|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. If the Edge host has an embedded corresponding public key, the signature of the uploaded content will be verified. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                    | string  |
+|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for the content bundle. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles. | string  |
+|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                         | boolean |
+|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                              | string  |
+| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                          | boolean |
+| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                | string  |
+|            | `--skip-cleanup`                     | Skips the clean up of temporary files generated during the build process in the output folder.                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                               | string  |
 
 #### Examples
 
-The following example creates a content bundle named `example-bundle`.
+The following example creates a content bundle named `example-bundle.tar.zst` using the cluster profiles specified by
+the `--profiles` flag. The bundle is created in the example `output` folder.
 
 ```shell
 palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929  --output ./output --name example-bundle
 ```
 
-The output confirm that the bundle was built successfully.
-
-```text hideClipBoard
+```text hideClipBoard title="Example Output"
 -----------------------------
 Build Summary
 -----------------------------
 bundle example-bundle saved to output/example-bundle.tar.zst
 ```
 
-The following example creates a content bundle named `example-bundle` and a cluster definition named
-`example-definition`.
+The following example creates a cluster definition named `example-definition.tgz` using the cluster profiles specified
+by the `--cluster-definition-profile-ids` flag. The definition is created in the example `output` folder.
+
+```shell
+palette content build --arch amd64 --project-id 1617181929 --cluster-definition-name example-definition --cluster-definition-profile-ids 12345678910 --output ./output
+```
+
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-definition saved to output/example-definition.tar.zst
+```
+
+The following example creates both a content bundle named `example-bundle.tar.zst` and a cluster definition named
+`example-definition.tgz`. The bundle and the definition are created in the example `output` folder. When you create a
+cluster definition and content bundle using a single `build` command, the cluster definition is also embedded into the
+content bundle.
 
 ```shell
 palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929 --cluster-definition-name example-definition --cluster-definition-profile-ids 12345678910 --output ./output --name example-bundle
 ```
 
-```text hideClipBoard
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-bundle saved to output/example-bundle.tar.zst
+```
+
+The following example creates a bundle definition named `bundle-definition.yaml` in the example `output` folder.
+
+```shell
+palette content build --arch amd64 --metadata-only --profiles 12345678910 --project-id 1617181929 --output ./output --name example-bundle
+```
+
+```text hideClipBoard title="Example Output"
+Writing flattened bundle definition file at path output/bundle-definition.yaml
+```
+
+You can modify the definition according to your use case. For example, you can change the registry path of the images
+and then use the `--metadata-file` flag to build a content bundle from the updated definition file.
+
+```shell
+palette content build --metadata-file output/bundle-definition.yaml --output ./output
+```
+
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-bundle saved to output/example-bundle.tar.zst
+```
+
+The following example creates a new content bundle named `example-bundle.tar.zst` using the cluster profiles specified
+by the `--profiles` flag and the existing bundle specified by the `--existing-bundles` flag. This avoids the need to
+redownload images defined in the profiles that are already present in the existing bundle.
+
+```shell
+palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929  --output ./output --name example-bundle --existing-bundles ./bundles/example-existing-bundle.tar.zst
+```
+
+```text hideClipBoard title="Example Output"
 -----------------------------
 Build Summary
 -----------------------------
@@ -139,14 +199,14 @@ The following flags are supported by the `copy` subcommand.
 
 #### Example
 
-The following command copies the `example-bundle` bundle from the `home/ubuntu/copy/` local repository to the
+The following command copies the `example-bundle.tar.zst` bundle from the `home/ubuntu/copy/` local repository to the
 `home/ubuntu/paste/` repository.
 
 ```shell
 palette content copy --source file:///home/ubuntu/copy/example-bundle.tar.zst --destination file:///home/ubuntu/paste
 ```
 
-```text hideClipboard
+```text hideClipboard title="Example Output"
 -----------------------------
 Copy Summary
 -----------------------------
@@ -204,20 +264,22 @@ The following flags are supported by the `list` subcommand.
 
 #### Example
 
-The following example command lists the content bundles in the `bundle` repository.
+The following example command lists the content bundles in the `docs` repository.
 
 ```shell
 palette content list --repo example.com/docs/bundle-definition
 ```
 
-```text hideClipboard
+```text hideClipboard title="Example Output"
 Listing bundles
 example.com/docs/bundle-definition:bundle-123456acbdecaec2e
 ```
 
 ### Push
 
-Use the `push` subcommand to push the content bundle to an OCI registry.
+Use the `push` subcommand to push a content bundle to an OCI registry. Refer to the
+[Upload Cluster Images to Registry with the CLI](../../../clusters/edge/site-deployment/deploy-custom-registries/upload-images-to-registry.md)
+guide for more information on how to push content bundles to external registries.
 
 ```shell
 palette content push [flags]
@@ -246,7 +308,7 @@ The following example pushes the bundle named `example-bundle.tar.zst` to the `e
 palette content push --file example-bundle.tar.zst --registry example.com/bundle
 ```
 
-```text hideClipboard
+```text hideClipboard title="Example Output"
 -----------------------------
 Push Summary
 -----------------------------
@@ -317,7 +379,7 @@ The following example saves the content bundle `example-bundle` from the `exampl
 palette content save --source example.com/bundle/bundle-definition:example-bundle --output output-example
 ```
 
-```text hideClipboard
+```text hideClipboard title="Example Output"
 -----------------------------
 Save Summary
 -----------------------------
@@ -327,7 +389,7 @@ bundle example.com/bundle/bundle-definition:example-bundle saved to /home/ubuntu
 
 ### Serve
 
-Use the `serve` subcommand to serve the content bundle as a registry.
+Use the `serve` subcommand to serve a content bundle as a registry.
 
 ```shell
 palette content serve [flags]
@@ -351,13 +413,13 @@ The following flags are supported by the `serve` subcommand.
 
 #### Example
 
-The following example serves the `output/example-bundle` content bundle as a registry locally on port `5000`.
+The following example serves the `output/example-bundle.tar.zst` content bundle as a registry locally on port `5000`.
 
 ```shell
 palette content serve --port 5000 --bundle output/example-bundle.tar.zst --disk disk-example
 ```
 
-```text hideClipboard
+```text hideClipboard title="Example Output"
 -----------------------------
 Push Summary
 -----------------------------
@@ -371,3 +433,51 @@ example, the command `oras repo list --plain-http localhost:5000/bundle` should
 bundle. Replace `localhost` with the host's address if you are hosting the registry externally.
 
 :::
+
+### Upload
+
+Use the `upload` subcommand to upload a content bundle to an Edge host. Refer to the
+[Upload Content Bundle](../../../clusters/edge/local-ui/cluster-management/upload-content-bundle.md) for additional
+information on how to upload content bundles to Edge hosts.
+
+```shell
+palette content upload [flags] [host]
+```
+
+The following flags are supported by the `upload` subcommand.
+
+| Short Flag | Long Flag          | Description                                                                                                                                                          | Type   |
+| ---------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
+|            | `--cluster-export` | The cluster definition `.tgz` file to be uploaded. You can only upload a cluster definition if a content bundle is not being uploaded in the same command execution. | string |
+| `-f`       | `--file`           | The file path of the content bundle to be uploaded.                                                                                                                  | string |
+| `-h`       | `--help`           | Help for the `upload` subcommand.                                                                                                                                    | -      |
+| `-p`       | `--port`           | The Edge host target port. The default port is `5082`.                                                                                                               | string |
+|            | `--token`          | The authentication token used to validate the client. The token is located on the Edge host at `/opt/spectrocloud/.upload-auth-token`.                               | string |
+
+#### Example
+
+The following example uploads the `example-bundle.tar.zst` content bundle to the Edge host at IP address `10.45.67.89`.
+If the content bundle contains an embedded cluster definition, this definition will also be automatically uploaded to
+Local UI.
+
+```shell
+palette content upload --file output/example-bundle.tar.zst --token ABC1234566b31221do 10.45.67.89
+```
+
+```text hideClipboard title="Example Output"
+uploading file example-bundle.tar.zst to appliance
+4.97 GiB / 4.97 GiB [=============================================================] 100.00%
+response: Uploaded content successfully
+```
+
+After the upload, the content bundle can be viewed in [Local UI](../../../clusters/edge/local-ui/local-ui.md) under the
+**Content** section.
+
+:::warning
+
+The content bundle must have a unique name. This can be specified using the `--name` flag with the `content build`
+command. If a unique name is not provided, the `build` command generates a default name in the `<bundle>-<project-id>`
+format, which is not unique and may lead to issues, as bundles using the same default name can be overwritten during
+upload to Local UI.
+
+:::
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 38767b72385..67281681caa 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
@@ -140,10 +140,10 @@ require a local Harbor registry. Built-in registries must be configured using ei
     bundle.
 
 11. (Optional) If your cluster profile uses images or Helm charts that are hosted on private registries that require
-    authentication, you must use the `content registry-login` command to authenticate with the registry. Replace
-    `<registry-address>`, `<registry-username>`, and `<registry-password>` with your registry credentials. Refer to the
-    [content registry-login](../../../../automation/palette-cli/commands/content.md#registry-login) CLI command page for
-    more information.
+    authentication, you must use the `content registry-login` command to authenticate with each one of the registries.
+    Replace `<registry-address>`, `<registry-username>`, and `<registry-password>` with your registry credentials. Refer
+    to the [content registry-login](../../../../automation/palette-cli/commands/content.md#registry-login) CLI command
+    page for more information.
 
     ```shell
     palette content registry-login --registry <registry-address> \
@@ -152,8 +152,6 @@ require a local Harbor registry. Built-in registries must be configured using ei
     ```
 
 12. Issue the following command to create the content bundle. Replace the placeholder values with your actual values.
-    Refer to the [content build](../../../../automation/palette-cli/commands/content.md#build) CLI command page for a
-    complete list of available flags.
 
     ```shell
     palette content build --arch <bundle-architecture> \
@@ -163,21 +161,18 @@ require a local Harbor registry. Built-in registries must be configured using ei
      --output <output-directory>
     ```
 
-    :::warning
+    The result is a `.tar.zst` content bundle that you can use to preload into your installer. For more information
+    about how to use content bundles, refer to [Build Installer ISO](./build-installer-iso.md) or
+    [Upload Content Bundle through Local UI](../../local-ui/cluster-management/upload-content-bundle.md).
 
-    If you plan to create a local cluster or scale up a local cluster, ensure that you build the content bundle with
-    either the `--include-all-palette-images` or the `--include-core-palette-images-only` flag. The flag
-    `--include-all-palette-images` is enabled by default in the Palette CLI
-    [build](../../../../automation/palette-cli/commands/content.md#build) command. Content bundles uploaded to the
-    cluster that do not have either of these flags cannot be used to provision new nodes and will lead to failure during
-    cluster creation and scale-up.
+    :::tip
 
-    :::
+    You can use the `--existing-bundles` flag with the `build` command to include existing `.tar.zst` bundle archives as
+    part of the content bundle build. This avoids the need to redownload images, charts, and raw files that are already
+    present in local bundles. Refer to the [content build](../../../../automation/palette-cli/commands/content.md#build)
+    CLI command page for a complete list of available flags and examples.
 
-    The result is a content bundle that you can use to preload into your installer. The content bundle will be a `.zst`
-    file. For more information about how to use a content bundles, refer to
-    [Build Installer ISO](./build-installer-iso.md) or
-    [Upload Content Bundle through Local UI](../../local-ui/cluster-management/upload-content-bundle.md).
+    :::
 
 13. (Optional) You can download the cluster definition and the content bundle in a single step. A cluster definition
     contains one or more cluster profiles, including the profile variables used in the profiles. In local Edge
@@ -204,8 +199,9 @@ require a local Harbor registry. Built-in registries must be configured using ei
     | `--cluster-definition-name`        | Filename of the cluster definition tgz file.                          |
     | `--cluster-definition-profile-ids` | List of cluster profile IDs to be included in the cluster definition. |
 
-    This command will generate an additional file named **cluster-definition-name.tgz**, which is the cluster definition
-    file.
+    This command will generate a `.tgz` cluster definition file in the specified output directory. When you create a
+    cluster definition and content bundle using a single `build` command, the cluster definition is also embedded into
+    the content bundle.
 
 </TabItem>
 
@@ -416,10 +412,10 @@ require a local Harbor registry. Built-in registries must be configured using ei
     ```
 
     | Flag                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
-    | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- |
+    | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
     | `--api-key`                  | Your Palette API key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | `--cluster-profile-ids`      | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full-on profiles. For more information about the types of profiles, refer to [Cluster Profile](../../../../profiles/profiles.md). |
-    | `--cred-file-path`           | Path to the JSON file storing registry credentials if you are using a private registry.                                                                                                                                                                                                                                                                                                                                                                                                     |     |
+    | `--cred-file-path`           | Path to the JSON file storing registry credentials if you are using a private registry.                                                                                                                                                                                                                                                                                                                                                                                                     |
     | `--include-core-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. By default, content bundles include images to support both cluster creation and cluster management. In the case of installations of locally managed Edge hosts, we recommend using this option 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.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
diff --git a/docs/docs-content/clusters/edge/local-ui/cluster-management/upload-content-bundle.md b/docs/docs-content/clusters/edge/local-ui/cluster-management/upload-content-bundle.md
index 69379be92a8..6867fd7cdef 100644
--- a/docs/docs-content/clusters/edge/local-ui/cluster-management/upload-content-bundle.md
+++ b/docs/docs-content/clusters/edge/local-ui/cluster-management/upload-content-bundle.md
@@ -16,10 +16,11 @@ sufficient storage to your registry.
 If you upload a content bundle to the leader node of a group of linked hosts, the content bundle will be synced to the
 rest of the group of linked hosts.
 
-This page guides you through how to build a content bundle and upload it to an Edge host using the Edge management
-console.
+This page guides you through how to upload a content bundle to an Edge host using either Local UI or the Palette CLI.
 
-## Prerequisites
+## Upload Content Bundle with Local UI
+
+### Prerequisites
 
 - An Edge host with installed with Edge Installer 4.3 or later using the local management mode.
 
@@ -28,11 +29,11 @@ console.
 
 - Network access to the Edge host's port where Local UI is exposed. The default port is 5080.
 
-## Upload Content
+### Upload Content
 
 1. Log in to [Local UI](../host-management/access-console.md#log-in-to-local-ui).
 
-2. From the left **Main Menu**, click **Content**.
+2. From the left main menu, click **Content**.
 
 3. Under the upper-right user menu, Click **Actions** > **Upload Content**.
 
@@ -41,7 +42,82 @@ console.
    [embedded a public key in your Edge artifacts](../../edgeforge-workflow/palette-canvos/signed-content.md), you may
    only upload one bundle at a time.
 
-## Validate
+### Validate
 
-1. After the upload is complete, click **Content** on the left **Main Menu** and confirm images in your content bundle
+1. After the upload is complete, click **Content** on the left main menu and confirm the images in your content bundle
    are present in the Edge host.
+
+## Upload Content Bundle with Palette CLI
+
+### Prerequisites
+
+- An Edge host with SSH access.
+
+- A Linux machine (physical or VM) with an AMD64 architecture and network access to the Edge host.
+
+- You have built a content bundle using your intended cluster profile. For more information, refer to
+  [Build Content Bundles](../../edgeforge-workflow/palette-canvos/build-content-bundle.md). The content bundle must be
+  available in your Linux machine.
+
+  :::warning
+
+  The content bundle must have a unique name. This can be specified using the `--name` flag with the
+  [`content build`](../../../../automation/palette-cli/commands/content.md#build) command. If a unique name is not
+  provided, the `build` command generates a default name in the `<bundle>-<project-id>` format, which is not unique and
+  may lead to issues, as bundles using the same default name can be overwritten during upload to Local UI.
+
+  :::
+
+### Upload Bundle
+
+1. SSH into the Edge host and copy the authentication token located at `/opt/spectrocloud/.upload-auth-token`. This
+   token is required to upload the content bundle to the Edge host.
+
+   ```shell
+   cat /opt/spectrocloud/.upload-auth-token
+   ```
+
+2. Open a terminal window on the Linux machine and download the Palette CLI. Refer to the
+   [Palette Components Compatibility Matrix](../../../../downloads/cli-tools.md) to find a compatible CLI version and
+   replace `<palette-cli-version>` with the selected version.
+
+   ```shell
+   VERSION=<palette-cli-version>
+   wget https://software.spectrocloud.com/palette-cli/v$VERSION/linux/cli/palette
+   chmod +x palette
+   ```
+
+3. Use the following command to move the `palette` binary to the **/usr/local/bin** directory to make the binary
+   available in your system $PATH. This allows you to issue the `palette` command from any directory in your development
+   environment.
+
+   ```bash
+   mv palette /usr/local/bin
+   ```
+
+4. Verify that the Palette CLI is part of your system path by issuing the Palette CLI `version` command.
+
+   ```bash
+   palette version
+   ```
+
+   ```hideClipboard text
+   Palette CLI version: [version number]
+   ```
+
+5. Issue the following command to upload the content bundle to the Edge host. Replace `<content-bundle-file-path>` with
+   the file path of the content bundle, `<edge-host-token>` with the Edge host token, and `<edge-host-ip>` with the IP
+   address of your Edge host. If the content bundle contains an embedded cluster definition, this definition will also
+   be automatically uploaded to Local UI. Refer to the
+   [upload](../../../../automation/palette-cli/commands/content.md#upload) command section for a complete list of
+   supported flags and examples.
+
+   ```shell
+   palette content upload --file <content-bundle-file-path> --token <edge-host-token> <edge-host-ip>
+   ```
+
+### Validate
+
+1. Log in to [Local UI](../host-management/access-console.md#log-in-to-local-ui).
+
+2. From the left main menu, click **Content** and confirm that the uploaded content bundle is listed.
diff --git a/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/upload-images-to-registry.md b/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/upload-images-to-registry.md
index 75375f7584e..46f1fd3f4f1 100644
--- a/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/upload-images-to-registry.md
+++ b/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/upload-images-to-registry.md
@@ -90,10 +90,10 @@ Palette Edge CLI to download the images and upload them to the external registry
    bundle.
 
 10. (Optional) If your cluster profile uses images or Helm charts that are hosted on private registries that require
-    authentication, you must use the `content registry-login` command to authenticate with the registry. Replace
-    `<registry-address>`, `<registry-username>`, and `<registry-password>` with your registry credentials. Refer to the
-    [content registry-login](../../../../automation/palette-cli/commands/content.md#registry-login) CLI command page for
-    more information.
+    authentication, you must use the `content registry-login` command to authenticate with each one of the registries.
+    Replace `<registry-address>`, `<registry-username>`, and `<registry-password>` with your registry credentials. Refer
+    to the [content registry-login](../../../../automation/palette-cli/commands/content.md#registry-login) CLI command
+    page for more information.
 
     ```shell
     palette content registry-login --registry <registry-address> \
@@ -102,8 +102,8 @@ Palette Edge CLI to download the images and upload them to the external registry
     ```
 
 11. Issue the following command to download the images as a content bundle. Replace the placeholder values with your
-    actual values. Refer to the [content build](../../../../automation/palette-cli/commands/content.md#build) CLI
-    command page for a complete list of available flags.
+    actual values. Refer to the [Build Content Bundle](../../edgeforge-workflow/palette-canvos/build-content-bundle.md)
+    guide for more information.
 
     ```shell
     palette content build --arch <bundle-architecture> \
@@ -113,7 +113,16 @@ Palette Edge CLI to download the images and upload them to the external registry
      --output <output-directory>
     ```
 
-12. Issue the following command to upload the images to the external registry. Replace `<path-to-content-bundle>` with
+12. Use the `content registry-login` command again to authenticate with the external registry. Replace
+    `<registry-address>`, `<registry-username>`, and `<registry-password>` with your registry credentials.
+
+    ```shell
+    palette content registry-login --registry <registry-address> \
+    --username <registry-username> \
+    --password <registry-password>
+    ```
+
+13. Issue the following command to upload the images to the external registry. Replace `<path-to-content-bundle>` with
     the path to the content bundle you downloaded in the previous step, and `<registry-address` with the URL of your
     external registry. Refer to the [content push](../../../../automation/palette-cli/commands/content.md#push) CLI
     command page for a complete list of available flags.


Reviews:
user: login: abhinavnagaraj
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T20:59:54Z
user: login: abhinavnagaraj
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T21:05:51Z
user: login: lennessyy
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T23:47:10Z
user: login: caroldelwing
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-14T13:35:54Z
user: login: caroldelwing
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-14T13:56:46Z
user: login: caroldelwing
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-14T14:04:37Z
user: login: github-actions[bot]
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-14T15:15:40Z

Review comments:
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to re-download files that are already present in local bundles.                                                                                                                                                                                                                     | string  |
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: abhinavnagaraj
body: Instead of "re-download files" we can maybe say "re-download content" ? Since bundle is a combination of images, charts and raw-files.
created_at: 2025-05-13T20:59:54Z
author_association: CONTRIBUTOR
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to re-download files that are already present in local bundles.                                                                                                                                                                                                                     | string  |
+| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                    | string  |
+|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                               | boolean |
+| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                            | -       |
+|            | `--include-core-palette-images-only` | Whether to include only the essential Palette images required for cluster creation, excluding day-2 images. This option is recommended for airgap installations to reduce the size of the content bundle. By default, this flag is set to `false`, and the `build` command includes both core and day-2 images.                                                                             | boolean |
+|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                      | boolean |
+| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                             | boolean |
+| `-f`       | `--metadata-file`                    | The file path to the content bundle definition metadata file `bundle-definition.yaml` to be used for building the content bundle.                                                                                                                                                                                                                                                           | string  |
+|            | `--metadata-only`                    | If enabled, only the bundle definition metadata file `bundle-definition.yaml` is generated. You can edit this file, for example to change a registry path, and then use it with the `--metadata-file` flag to build a content bundle.                                                                                                                                                       | boolean |
+| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                             | string  |
+| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                               | string  |
+|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                          | string  |
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: abhinavnagaraj
body: Instead of "This is required", we could say - "if the Edge host has an embedded public key the signature of the uploaded content will be verified".
created_at: 2025-05-13T21:05:51Z
author_association: CONTRIBUTOR
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to re-download files that are already present in local bundles.                                                                                                                                                                                                                     | string  |
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: lennessyy
body: maybe be specific: avoid redowloading images, chars and raw riles that are already present". Content is a bit vague. 
created_at: 2025-05-13T21:13:43Z
author_association: CONTRIBUTOR
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to re-download files that are already present in local bundles.                                                                                                                                                                                                                     | string  |
+| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                    | string  |
+|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                               | boolean |
+| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                            | -       |
+|            | `--include-core-palette-images-only` | Whether to include only the essential Palette images required for cluster creation, excluding day-2 images. This option is recommended for airgap installations to reduce the size of the content bundle. By default, this flag is set to `false`, and the `build` command includes both core and day-2 images.                                                                             | boolean |
+|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                      | boolean |
+| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                             | boolean |
+| `-f`       | `--metadata-file`                    | The file path to the content bundle definition metadata file `bundle-definition.yaml` to be used for building the content bundle.                                                                                                                                                                                                                                                           | string  |
+|            | `--metadata-only`                    | If enabled, only the bundle definition metadata file `bundle-definition.yaml` is generated. You can edit this file, for example to change a registry path, and then use it with the `--metadata-file` flag to build a content bundle.                                                                                                                                                       | boolean |
+| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                             | string  |
+| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                               | string  |
+|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                          | string  |
+|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for the content bundle. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles. | string  |
+|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                         | boolean |
+|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                              | string  |
+| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                          | boolean |
+| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                | string  |
+|            | `--skip-cleanup`                     | Skips the clean up of temporary files generated during the build process in the output folder.                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                               | string  |
 
 #### Examples
 
-The following example creates a content bundle named `example-bundle`.
+The following example creates a content bundle named `example-bundle.tar.zst` using the cluster profiles specified by
+the `--profiles` flag. The bundle is created in the example `output` folder.
 
 ```shell
 palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929  --output ./output --name example-bundle
 ```
 
-The output confirm that the bundle was built successfully.
-
-```text hideClipBoard
+```text hideClipBoard title="Example Output"
 -----------------------------
 Build Summary
 -----------------------------
 bundle example-bundle saved to output/example-bundle.tar.zst
 ```
 
-The following example creates a content bundle named `example-bundle` and a cluster definition named
-`example-definition`.
+The following example creates a cluster definition named `example-definition-spc.tgz` using the cluster profiles
+specified by the `--cluster-definition-profile-ids` flag. The definition is created in the example `output` folder.
+
+```shell
+palette content build --arch amd64 --project-id 1617181929 --cluster-definition-name example-definition --cluster-definition-profile-ids 12345678910 --output ./output
+```
+
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-definition saved to output/example-definition.tar.zst
+```
+
+The following example creates both a content bundle named `example-bundle.tar.zst` and a cluster definition named
+`example-definition-spc.tgz`. The bundle and the definition are created in the example `output` folder. When you create
+a cluster definition and content bundle using a single `build` command, the cluster definition is also embedded into the
+content bundle.
 
 ```shell
 palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929 --cluster-definition-name example-definition --cluster-definition-profile-ids 12345678910 --output ./output --name example-bundle
 ```
 
-```text hideClipBoard
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-bundle saved to output/example-bundle.tar.zst
+```
+
+The following example creates a bundle definition named `bundle-definition.yaml` in the example `output` folder.
+
+```shell
+palette content build --arch amd64 --metadata-only --profiles 12345678910 --project-id 1617181929 --output ./output --name example-bundle
+```
+
+```text hideClipBoard title="Example Output"
+Writing flattened bundle definition file at path output/bundle-definition.yaml
+```
+
+You can modify the definition according to your use case. For example, you can change the registry path of the images
+and then use the `--metadata-file` flag to build a content bundle from the updated definition file.
+
+```shell
+palette content build --metadata-file output/bundle-definition.yaml --output ./output
+```
+
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-bundle saved to output/example-bundle.tar.zst
+```
+
+The following example creates a new content bundle named `example-bundle.tar.zst` using the cluster profiles specified
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: lennessyy
body: Some of this information is pretty useful but users may miss it in the reference. Maybe add a paragraph in the content bundle build page to let users know about the option to re-use existing bundles? 
created_at: 2025-05-13T23:46:18Z
author_association: CONTRIBUTOR
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to re-download files that are already present in local bundles.                                                                                                                                                                                                                     | string  |
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: caroldelwing
body: makes sense :white_check_mark:
created_at: 2025-05-14T13:35:54Z
author_association: CONTRIBUTOR
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to re-download files that are already present in local bundles.                                                                                                                                                                                                                     | string  |
+| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                    | string  |
+|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                               | boolean |
+| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                            | -       |
+|            | `--include-core-palette-images-only` | Whether to include only the essential Palette images required for cluster creation, excluding day-2 images. This option is recommended for airgap installations to reduce the size of the content bundle. By default, this flag is set to `false`, and the `build` command includes both core and day-2 images.                                                                             | boolean |
+|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                      | boolean |
+| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                             | boolean |
+| `-f`       | `--metadata-file`                    | The file path to the content bundle definition metadata file `bundle-definition.yaml` to be used for building the content bundle.                                                                                                                                                                                                                                                           | string  |
+|            | `--metadata-only`                    | If enabled, only the bundle definition metadata file `bundle-definition.yaml` is generated. You can edit this file, for example to change a registry path, and then use it with the `--metadata-file` flag to build a content bundle.                                                                                                                                                       | boolean |
+| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                             | string  |
+| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                               | string  |
+|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                          | string  |
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: caroldelwing
body: :white_check_mark:
created_at: 2025-05-14T13:56:46Z
author_association: CONTRIBUTOR
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to re-download files that are already present in local bundles.                                                                                                                                                                                                                     | string  |
+| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                    | string  |
+|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                               | boolean |
+| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                            | -       |
+|            | `--include-core-palette-images-only` | Whether to include only the essential Palette images required for cluster creation, excluding day-2 images. This option is recommended for airgap installations to reduce the size of the content bundle. By default, this flag is set to `false`, and the `build` command includes both core and day-2 images.                                                                             | boolean |
+|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                      | boolean |
+| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                             | boolean |
+| `-f`       | `--metadata-file`                    | The file path to the content bundle definition metadata file `bundle-definition.yaml` to be used for building the content bundle.                                                                                                                                                                                                                                                           | string  |
+|            | `--metadata-only`                    | If enabled, only the bundle definition metadata file `bundle-definition.yaml` is generated. You can edit this file, for example to change a registry path, and then use it with the `--metadata-file` flag to build a content bundle.                                                                                                                                                       | boolean |
+| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                             | string  |
+| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                               | string  |
+|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                          | string  |
+|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for the content bundle. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles. | string  |
+|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                         | boolean |
+|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                              | string  |
+| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                          | boolean |
+| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                | string  |
+|            | `--skip-cleanup`                     | Skips the clean up of temporary files generated during the build process in the output folder.                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                               | string  |
 
 #### Examples
 
-The following example creates a content bundle named `example-bundle`.
+The following example creates a content bundle named `example-bundle.tar.zst` using the cluster profiles specified by
+the `--profiles` flag. The bundle is created in the example `output` folder.
 
 ```shell
 palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929  --output ./output --name example-bundle
 ```
 
-The output confirm that the bundle was built successfully.
-
-```text hideClipBoard
+```text hideClipBoard title="Example Output"
 -----------------------------
 Build Summary
 -----------------------------
 bundle example-bundle saved to output/example-bundle.tar.zst
 ```
 
-The following example creates a content bundle named `example-bundle` and a cluster definition named
-`example-definition`.
+The following example creates a cluster definition named `example-definition-spc.tgz` using the cluster profiles
+specified by the `--cluster-definition-profile-ids` flag. The definition is created in the example `output` folder.
+
+```shell
+palette content build --arch amd64 --project-id 1617181929 --cluster-definition-name example-definition --cluster-definition-profile-ids 12345678910 --output ./output
+```
+
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-definition saved to output/example-definition.tar.zst
+```
+
+The following example creates both a content bundle named `example-bundle.tar.zst` and a cluster definition named
+`example-definition-spc.tgz`. The bundle and the definition are created in the example `output` folder. When you create
+a cluster definition and content bundle using a single `build` command, the cluster definition is also embedded into the
+content bundle.
 
 ```shell
 palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929 --cluster-definition-name example-definition --cluster-definition-profile-ids 12345678910 --output ./output --name example-bundle
 ```
 
-```text hideClipBoard
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-bundle saved to output/example-bundle.tar.zst
+```
+
+The following example creates a bundle definition named `bundle-definition.yaml` in the example `output` folder.
+
+```shell
+palette content build --arch amd64 --metadata-only --profiles 12345678910 --project-id 1617181929 --output ./output --name example-bundle
+```
+
+```text hideClipBoard title="Example Output"
+Writing flattened bundle definition file at path output/bundle-definition.yaml
+```
+
+You can modify the definition according to your use case. For example, you can change the registry path of the images
+and then use the `--metadata-file` flag to build a content bundle from the updated definition file.
+
+```shell
+palette content build --metadata-file output/bundle-definition.yaml --output ./output
+```
+
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-bundle saved to output/example-bundle.tar.zst
+```
+
+The following example creates a new content bundle named `example-bundle.tar.zst` using the cluster profiles specified
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: caroldelwing
body: oh yes, great idea. Will add it!
created_at: 2025-05-14T14:04:37Z
author_association: CONTRIBUTOR
diff_hunk: @@ -163,21 +161,18 @@ require a local Harbor registry. Built-in registries must be configured using ei
      --output <output-directory>
     ```
 
-    :::warning
+    The result is a `.tar.zst` content bundle that you can use to preload into your installer. For more information
+    about how to use content bundles, refer to [Build Installer ISO](./build-installer-iso.md) or
+    [Upload Content Bundle through Local UI](../../local-ui/cluster-management/upload-content-bundle.md).
 
-    If you plan to create a local cluster or scale up a local cluster, ensure that you build the content bundle with
-    either the `--include-all-palette-images` or the `--include-core-palette-images-only` flag. The flag
-    `--include-all-palette-images` is enabled by default in the Palette CLI
-    [build](../../../../automation/palette-cli/commands/content.md#build) command. Content bundles uploaded to the
-    cluster that do not have either of these flags cannot be used to provision new nodes and will lead to failure during
-    cluster creation and scale-up.
+    :::tip
 
-    :::
+    You can use the `--existing-bundles` flag with the `build` command to include existing `.tar.zst` bundle archives as
+    part of the content bundle build. This avoids the need to redownload images, charts, and raw files that are already
path: docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md
user: login: github-actions[bot]
body: 🚫 **[vale]** <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>[Vale.Spelling] Did you really mean 'redownload'?
created_at: 2025-05-14T15:15:40Z
author_association: CONTRIBUTOR
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `.tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to redownload images, charts, and raw files that are already present in local bundles.                                                                                                                                                                                             | string  |
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: github-actions[bot]
body: 🚫 **[vale]** <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>[Vale.Spelling] Did you really mean 'redownload'?
created_at: 2025-05-14T15:15:40Z
author_association: CONTRIBUTOR
diff_hunk: @@ -39,75 +40,134 @@ The `content` command includes the following subcommands:
 - [`registry-login`](#registry-login) - Login to a private OCI registry.
 - [`save`](#save) - Save the content bundle locally.
 - [`serve`](#serve) - Serve the content bundle as a registry.
+- [`upload`](#upload) - Upload the content bundle to an Edge host.
 
 ### Build
 
-Use the `build` subcommand to create a content bundle or export a cluster definition.
+Use the `build` subcommand to create a content bundle or export a cluster definition. Refer to the
+[Build Content Bundle](../../../clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md) and
+[Export Cluster Definition](../../../clusters/edge/local-ui/cluster-management/export-cluster-definition.md) guides for
+additional information.
 
 ```shell
 palette content build [flags]
 ```
 
 The following flags are supported by the `build` subcommand.
 
-| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                                     | Type    |
-| ---------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
-|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                                        | string  |
-| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                                      | string  |
-|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                                                 | string  |
-|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                                             | string  |
-|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                                         | string  |
-|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                                           | integer |
-|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                                                  | boolean |
-| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                                        | string  |
-|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                                                | -       |
-|            | `--include-all-palette-images`       | Whether to include images for the Palette agent itself, including images to support cluster creation and management. The default value is `true`. For airgap installations, you must use either this option or the `--include-core-palette-images-only` option. We recommend that you use `--include-core-palette-images-only` to reduce the size of the content bundle.                                        | boolean |
-|            | `--include-core-palette-images-only` | Whether to include images for the Palette agent that are necessary for cluster creation only. For airgap installations, we recommend using this option instead of `--include-all-palette-images` to reduce the size of the content bundle. The default value is `false`. To enable this parameter, you must include the flag `--include-core-palette-images-only` and set `--include-all-palette-images=false`. | boolean |
-|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                                          | boolean |
-| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                                                 | boolean |
-|            | `--metadata-file`                    | The filepath for the content bundle metadata.                                                                                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--metadata-only`                    | If enabled, only the bundle definition metadata is generated.                                                                                                                                                                                                                                                                                                                                                   | boolean |
-| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                                                 | string  |
-| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                                            | string  |
-|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                                                   | string  |
-|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. This is required if your Edge host has an embedded corresponding public key. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                                                                              | string  |
-|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles.                                        | string  |
-|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                                             | boolean |
-|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                                                  | string  |
-| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                                              | boolean |
-| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                                    | string  |
-|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                                           | string  |
-|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                                                   | string  |
+| Short Flag | Long Flag                            | Description                                                                                                                                                                                                                                                                                                                                                                                 | Type    |
+| ---------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+|            | `--application-release-name`         | The name of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--application-release-notes`        | The release notes for the application to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--application-release-version`      | The version of the application release to be added as metadata to the bundle definition.                                                                                                                                                                                                                                                                                                    | string  |
+| `-a`       | `--arch`                             | The architecture of the bundle to be built. The available options are `amd64` and `arm64`.                                                                                                                                                                                                                                                                                                  | string  |
+|            | `--build-type`                       | The type of build. The available options are `local`, where the build is performed locally, and `remote`, where the build is performed directly on the registry. The default value is `local`. To enable remote builds, you must also specify the registry address using the `--registry` flag.                                                                                             | string  |
+|            | `--ca-cert`                          | The path to the CA certificate file.                                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--cluster-definition-name`          | The filename of the cluster definition `.tgz` file.                                                                                                                                                                                                                                                                                                                                         | string  |
+|            | `--cluster-definition-profile-ids`   | A comma-separated list of cluster profile IDs to be included in the cluster definition.                                                                                                                                                                                                                                                                                                     | string  |
+|            | `--compression-level`                | The compression level for the archive file. The default value is `3`.                                                                                                                                                                                                                                                                                                                       | integer |
+|            | `--download-cluster-config-only`     | If enabled, only the cluster configuration will be downloaded.                                                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--existing-bundles`                 | Existing `.tar.zst` bundle archives to include as part of the content bundle build. This avoids the need to redownload images, charts, and raw files that are already present in local bundles.                                                                                                                                                                                             | string  |
+| `-k`       | `--encryption-passphrase`            | The encryption passphrase used to secure sensitive data.                                                                                                                                                                                                                                                                                                                                    | string  |
+|            | `--fips`                             | If enabled, the bundle will include only FIPS service images.                                                                                                                                                                                                                                                                                                                               | boolean |
+| `-h`       | `--help`                             | Help for the `build` subcommand.                                                                                                                                                                                                                                                                                                                                                            | -       |
+|            | `--include-core-palette-images-only` | Whether to include only the essential Palette images required for cluster creation, excluding day-2 images. This option is recommended for airgap installations to reduce the size of the content bundle. By default, this flag is set to `false`, and the `build` command includes both core and day-2 images.                                                                             | boolean |
+|            | `--include-service-images`           | Wether to include Palette service images. The default value is `true`.                                                                                                                                                                                                                                                                                                                      | boolean |
+| `-i`       | `--insecure`                         | Skips Transport Layer Security (TLS) verification (bypasses x509 verification).                                                                                                                                                                                                                                                                                                             | boolean |
+| `-f`       | `--metadata-file`                    | The file path to the content bundle definition metadata file `bundle-definition.yaml` to be used for building the content bundle.                                                                                                                                                                                                                                                           | string  |
+|            | `--metadata-only`                    | If enabled, only the bundle definition metadata file `bundle-definition.yaml` is generated. You can edit this file, for example to change a registry path, and then use it with the `--metadata-file` flag to build a content bundle.                                                                                                                                                       | boolean |
+| `-n`       | `--name`                             | The name of the content bundle.                                                                                                                                                                                                                                                                                                                                                             | string  |
+| `-o`       | `--output`                           | The output directory where the bundle will be saved.                                                                                                                                                                                                                                                                                                                                        | string  |
+|            | `--packs`                            | Comma-separated list of local paths to the pack `tar.gz` archive or directory files to include in the bundle.                                                                                                                                                                                                                                                                               | string  |
+|            | `--private-key`                      | The path to the private key used to sign the content bundle and cluster definition if it is present. If the Edge host has an embedded corresponding public key, the signature of the uploaded content will be verified. For more information, refer to [Embed Public Key in Edge Artifacts](../../../clusters/edge/edgeforge-workflow/palette-canvos/signed-content.md).                    | string  |
+|            | `--profiles`                         | Comma-separated list of cluster profile IDs to download content for the content bundle. Ensure that between all the profiles you include in the content bundle, only one infrastructure layer exists. For example, you can have one infrastructure profile and many add-on files, or one full profile and many add-on files, but you cannot have multiple infrastructure and full profiles. | string  |
+|            | `--progress`                         | Displays the build progress output.                                                                                                                                                                                                                                                                                                                                                         | boolean |
+|            | `--project-id`                       | The ID of the Palette project.                                                                                                                                                                                                                                                                                                                                                              | string  |
+| `-p`       | `--push`                             | Pushes the content bundle to the OCI registry after creation. This applies only if the build type is set to `local`. The default value is `false`.                                                                                                                                                                                                                                          | boolean |
+| `-r`       | `--registry`                         | The address of the OCI registry to push the images to. Applies if `--push` is set to `true`.                                                                                                                                                                                                                                                                                                | string  |
+|            | `--skip-cleanup`                     | Skips the clean up of temporary files generated during the build process in the output folder.                                                                                                                                                                                                                                                                                              | boolean |
+|            | `--tls-cert`                         | The path to the TLS certificate file.                                                                                                                                                                                                                                                                                                                                                       | string  |
+|            | `--tls-key`                          | The path to the TLS key file.                                                                                                                                                                                                                                                                                                                                                               | string  |
 
 #### Examples
 
-The following example creates a content bundle named `example-bundle`.
+The following example creates a content bundle named `example-bundle.tar.zst` using the cluster profiles specified by
+the `--profiles` flag. The bundle is created in the example `output` folder.
 
 ```shell
 palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929  --output ./output --name example-bundle
 ```
 
-The output confirm that the bundle was built successfully.
-
-```text hideClipBoard
+```text hideClipBoard title="Example Output"
 -----------------------------
 Build Summary
 -----------------------------
 bundle example-bundle saved to output/example-bundle.tar.zst
 ```
 
-The following example creates a content bundle named `example-bundle` and a cluster definition named
-`example-definition`.
+The following example creates a cluster definition named `example-definition-spc.tgz` using the cluster profiles
+specified by the `--cluster-definition-profile-ids` flag. The definition is created in the example `output` folder.
+
+```shell
+palette content build --arch amd64 --project-id 1617181929 --cluster-definition-name example-definition --cluster-definition-profile-ids 12345678910 --output ./output
+```
+
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-definition saved to output/example-definition.tar.zst
+```
+
+The following example creates both a content bundle named `example-bundle.tar.zst` and a cluster definition named
+`example-definition-spc.tgz`. The bundle and the definition are created in the example `output` folder. When you create
+a cluster definition and content bundle using a single `build` command, the cluster definition is also embedded into the
+content bundle.
 
 ```shell
 palette content build --arch amd64 --profiles 12345678910 --project-id 1617181929 --cluster-definition-name example-definition --cluster-definition-profile-ids 12345678910 --output ./output --name example-bundle
 ```
 
-```text hideClipBoard
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-bundle saved to output/example-bundle.tar.zst
+```
+
+The following example creates a bundle definition named `bundle-definition.yaml` in the example `output` folder.
+
+```shell
+palette content build --arch amd64 --metadata-only --profiles 12345678910 --project-id 1617181929 --output ./output --name example-bundle
+```
+
+```text hideClipBoard title="Example Output"
+Writing flattened bundle definition file at path output/bundle-definition.yaml
+```
+
+You can modify the definition according to your use case. For example, you can change the registry path of the images
+and then use the `--metadata-file` flag to build a content bundle from the updated definition file.
+
+```shell
+palette content build --metadata-file output/bundle-definition.yaml --output ./output
+```
+
+```text hideClipBoard title="Example Output"
+-----------------------------
+Build Summary
+-----------------------------
+bundle example-bundle saved to output/example-bundle.tar.zst
+```
+
+The following example creates a new content bundle named `example-bundle.tar.zst` using the cluster profiles specified
+by the `--profiles` flag and the existing bundle specified by the `--existing-bundles` flag. This avoids the need to
+redownload images defined in the profiles that are already present in the existing bundle.
path: docs/docs-content/automation/palette-cli/commands/content.md
user: login: github-actions[bot]
body: 🚫 **[vale]** <sub>reported by [reviewdog](https://github.com/reviewdog/reviewdog) :dog:</sub><br>[Vale.Spelling] Did you really mean 'redownload'?
created_at: 2025-05-14T15:15:40Z
author_association: CONTRIBUTOR

PR comments:
user: login: netlify[bot]
created_at: 2025-05-13T15:24:07Z
body: ### <span aria-hidden="true">✅</span> Deploy Preview for *docs-spectrocloud* ready!


|  Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">🔨</span> Latest commit | e9ef403b25293eb981f2e173cd52e5b2e7f7cc45 |
|<span aria-hidden="true">🔍</span> Latest deploy log | https://app.netlify.com/projects/docs-spectrocloud/deploys/682e2cae5f221800082172b5 |
|<span aria-hidden="true">😎</span> Deploy Preview | [https://deploy-preview-6716--docs-spectrocloud.netlify.app](https://deploy-preview-6716--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.eyJ1cmwiOiJodHRwczovL2RlcGxveS1wcmV2aWV3LTY3MTYtLWRvY3Mtc3BlY3Ryb2Nsb3VkLm5ldGxpZnkuYXBwIn0.3SxosaowrKhpN3UgnJh_ccv3zIpbKduf3NUmx2pe5-8)<br /><br />_Use your smartphone camera to open QR code link._</details> |
---
<!-- [docs-spectrocloud Preview](https://deploy-preview-6716--docs-spectrocloud.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify project configuration](https://app.netlify.com/projects/docs-spectrocloud/configuration/notifications#deploy-notifications)._
author_association: NONE
user: login: caroldelwing
created_at: 2025-05-16T18:03:07Z
body: This PR is ready to be merged. I'm just waiting for the binary with the fix for one last bug associated with the cluster definition name (I want to test it).
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-05-21T19:49:54Z
body: <!-- add-pr-comment:add-pr-comment -->

🚀 docs-latest.spectrocloud.com preview deployed succesfully for commit 8d6e074f29e678f1c55ceb123ab2797550c987f6. Click [here](https://docs-latest.spectrocloud.com) to preview the changes.
author_association: CONTRIBUTOR