diff --git a/docs/docs-content/automation/palette-cli/commands/commands.md b/docs/docs-content/automation/palette-cli/commands/commands.md
index 4df438616a..0838c30136 100644
--- a/docs/docs-content/automation/palette-cli/commands/commands.md
+++ b/docs/docs-content/automation/palette-cli/commands/commands.md
@@ -33,7 +33,6 @@ The following list contains all the supported Palette CLI subcommands. Click on
- [`validator`](validator.md) - Deploy a kind cluster and install the Validator framework to validate your environment
is ready for Palette.
-
- [`vmo`](vmo.md) - Migrate, import and deploy VMs to Palette VMO.
## Global Flags
diff --git a/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/airgap-install/install.md b/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/airgap-install/install.md
index 17bcc02a0d..747ea20171 100644
--- a/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/airgap-install/install.md
+++ b/docs/docs-content/enterprise-version/install-palette/install-on-kubernetes/airgap-install/install.md
@@ -176,8 +176,88 @@ environment. Reach out to our support team if you need assistance.
mirrorRegistries: "docker.io::my-oci-registry.com/spectro-images,gcr.io::my-oci-registry.com/spectro-images,ghcr.io::my-oci-registry.com/spectro-images,k8s.gcr.io::my-oci-registry.com/spectro-images,registry.k8s.io::my-oci-registry.com/spectro-images,quay.io::my-oci-registry.com/spectro-images"
```
-7. Go ahead and install the image-swap chart using the following command. Point to the **values.yaml** file you
- configured in steps five through six.
+7. Create an empty YAML file with the name **registry-secret.yaml**. Use the following command to create the file.
+
+ ```shell
+ touch registry-secret.yaml
+ ```
+
+8. Open the **registry-secret.yaml** file and copy the placeholder configuration below.
+
+ ```yaml
+ ---
+ apiVersion: v1
+ stringData:
+ DOMAIN: "REPLACE_WITH_CUSTOM_REGISTRY_DOMAIN"
+ BASE_PATH: "REPLACE_WITH_CUSTOM_REGISTRY_BASE_PATH"
+ USERNAME: "REPLACE_WITH_CUSTOM_REGISTRY_USERNAME"
+ PASSWORD: "REPLACE_WITH_CUSTOM_REGISTRY_PASSWORD"
+ INSECURE: "false"
+ CA_CERT: "REPLACE_WITH_CUSTOM_REGISTRY_CA_CERT"
+ MIRROR_REGISTRIES: REPLACE_WITH_CUSTOM_REGISTRY_MIRROR_REGISTRIES
+ kind: Secret
+ metadata:
+ name: registry-info
+ namespace: jet-system
+ type: Opaque
+ ---
+ ```
+
+ :::warning
+
+ Do not change the `kind`, `metadata` and `type` fields in the YAML file. Only replace the placeholder values with
+ the actual values for your custom image registry as indicated in the table below.
+
+ :::
+
+9. Replace the placeholder values with the actual values for your custom image registry. Use the same values that you
+ used in the `ociImageRegistry` section of the **values.yaml** file for the image-swap Helm chart. Refer to the table
+ below for a description of each parameter.
+
+ | Parameter | Description | Required |
+ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |
+ | `DOMAIN` | The domain of the custom image registry. | Yes |
+ | `BASE_PATH` | The base path to the custom image registry. | Yes |
+ | `USERNAME` | The username to authenticate with the custom image registry. If the custom image registry does not require authentication, you can leave this field empty. | No |
+ | `PASSWORD` | The password to authenticate with the custom image registry. If the custom image registry does not require authentication, you can leave this field empty. | No |
+ | `INSECURE` | Set to `true` if the custom image registry uses an insecure connection or a self-signed certificate. Set to `false` if the custom image registry uses a secure connection. | Yes |
+ | `CA_CERT` | The Certificate Authority of the custom image registry in the PEM format. This is required if the custom image registry uses a self-signed certificate. | No |
+ | `MIRROR_REGISTRIES` | A comma-separated list of mirror registries in the [image swap format](https://github.com/phenixblue/imageswap-webhook/blob/master/docs/configuration.md) to use for pulling images. For example: `docker.io::harbor.example.org/airgap-images/docker.io,gcr.io::harbor.example.org/airgap-images/gcr.io,ghcr.io::harbor.example.org/airgap-images/ghcr.io,k8s.gcr.io::harbor.example.org/airgap-images/gcr.io,registry.k8s.io::harbor.example.org/airgap-images/k8s.io,quay.io::harbor.example.org/airgap-images/quay.io,us-east1-docker.pkg.dev::harbor.example.org/airgap-images` | Yes |
+
+
+
+ Click here for a complete example configuration.
+
+ ```yaml
+ ---
+ apiVersion: v1
+ stringData:
+ DOMAIN: "harbor.example.org"
+ BASE_PATH: "airgap-images"
+ USERNAME: ""
+ PASSWORD: ""
+ INSECURE: "false"
+ CA_CERT: ""
+ MIRROR_REGISTRIES: docker.io::harbor.example.org/airgap-images/docker.io,gcr.io::harbor.example.org/airgap-images/gcr.io,ghcr.io::harbor.example.org/airgap-images/ghcr.io,k8s.gcr.io::harbor.example.org/airgap-images/gcr.io,registry.k8s.io::harbor.example.org/airgap-images/k8s.io,quay.io::harbor.example.org/airgap-images/quay.io,us-east1-docker.pkg.dev::harbor.example.org/airgap-images
+ kind: Secret
+ metadata:
+ name: registry-info
+ namespace: jet-system
+ type: Opaque
+ ---
+ ```
+
+
+
+10. Once you have created the YAML file and configured the parameter values, issue the following command to create the
+ Kubernetes secret containing the image registry configuration.
+
+ ```shell
+ kubectl create --filename registry-secret.yaml
+ ```
+
+Install the image-swap chart using the following command. Point to the **values.yaml** file you configured in steps five
+through six.
```shell
helm upgrade --values extras/image-swap/values.yaml \
@@ -201,7 +281,7 @@ environment. Reach out to our support team if you need assistance.
:::
-8. Open the **values.yaml** file in the **spectro-mgmt-plane** folder with a text editor of your choice. The
+12. Open the **values.yaml** file in the **spectro-mgmt-plane** folder with a text editor of your choice. The
**values.yaml** file contains the default values for the Palette installation parameters. However, you must populate
the following parameters before installing Palette. You can learn more about the parameters on the **values.yaml**
file on the [Helm Configuration Reference](../palette-helm-ref.md) page.
@@ -704,7 +784,7 @@ environment. Reach out to our support team if you need assistance.
:::
-9. This step is only required if you are installing Palette in an environment where a network proxy must be configured
+13. This step is only required if you are installing Palette in an environment where a network proxy must be configured
for Palette to access the internet. If you are not using a network proxy, skip to the next step.
Install the reach-system chart using the following command. Point to the **values.yaml** file you configured in step
@@ -725,7 +805,7 @@ environment. Reach out to our support team if you need assistance.
TEST SUITE: None
```
-10. Install the Palette Helm Chart using the following command.
+14. Install the Palette Helm Chart using the following command.
```shell
helm upgrade --values palette/values.yaml \
@@ -742,7 +822,7 @@ environment. Reach out to our support team if you need assistance.
TEST SUITE: None
```
-11. Track the installation process using the command below. Palette is ready when the deployments in the namespaces
+15. Track the installation process using the command below. Palette is ready when the deployments in the namespaces
`cp-system`, `hubble-system`, `ingress-nginx`, `jet-system`, and `ui-system` reach the _Ready_ state. The
installation takes two to three minutes to complete.
@@ -757,7 +837,7 @@ environment. Reach out to our support team if you need assistance.
:::
-12. Create a DNS CNAME record that is mapped to the Palette `ingress-nginx-controller` load balancer. You can use the
+16. Create a DNS CNAME record that is mapped to the Palette `ingress-nginx-controller` load balancer. You can use the
following command to retrieve the load balancer IP address. You may require the assistance of your network
administrator to create the DNS record.
@@ -775,7 +855,7 @@ environment. Reach out to our support team if you need assistance.
:::
-13. Use the custom domain name or the IP address of the load balancer to visit the Palette system console. To access the
+17. Use the custom domain name or the IP address of the load balancer to visit the Palette system console. To access the
system console, open a web browser, paste the custom domain URL in the address bar, and append the value `/system`.
The first time you visit the Palette system console, a warning message about a not-trusted SSL certificate may
@@ -784,7 +864,7 @@ environment. Reach out to our support team if you need assistance.
![Screenshot of the Palette system console showing Username and Password fields.](/palette_installation_install-on-vmware_palette-system-console.webp)
-14. Log in to the system console using the following default credentials. Refer to the
+18. Log in to the system console using the following default credentials. Refer to the
[password requirements](../../../system-management/account-management/credentials.md#password-requirements-and-security)
documentation page to learn more about password requirements.
@@ -799,7 +879,7 @@ environment. Reach out to our support team if you need assistance.
Refer to the [Account Management](../../../system-management/account-management/account-management.md) documentation
page for more information.
-15. After login, a summary page is displayed. Palette is installed with a self-signed SSL certificate. To assign a
+19. After login, a summary page is displayed. Palette is installed with a self-signed SSL certificate. To assign a
different SSL certificate, you must upload the SSL certificate, SSL certificate key, and SSL certificate authority
files to Palette. You can upload the files using the Palette system console. Refer to the
[Configure HTTPS Encryption](../../../system-management/ssl-certificate-management.md) page for instructions on how
diff --git a/docs/docs-content/enterprise-version/system-management/ssl-certificate-management.md b/docs/docs-content/enterprise-version/system-management/ssl-certificate-management.md
index 6f95deb345..8f12ad6e32 100644
--- a/docs/docs-content/enterprise-version/system-management/ssl-certificate-management.md
+++ b/docs/docs-content/enterprise-version/system-management/ssl-certificate-management.md
@@ -12,8 +12,8 @@ keywords: ["self-hosted", "enterprise"]
Palette uses Secure Sockets Layer (SSL) certificates to secure internal and external communication with Hypertext
Transfer Protocol Secure (HTTPS). External Palette endpoints, such as the
[system console](../system-management/system-management.md#system-console),
-[Palette dashboard](../../introduction/dashboard.md), Palette API, and gRPC endpoints, are enabled by default with
-HTTPS using an auto-generated self-signed certificate. You can replace the self-signed certificate with a custom SSL
+[Palette dashboard](../../introduction/dashboard.md), Palette API, and gRPC endpoints, are enabled by default with HTTPS
+using an auto-generated self-signed certificate. You can replace the self-signed certificate with a custom SSL
certificate to secure these endpoints.
:::info
diff --git a/docs/docs-content/release-notes/release-notes.md b/docs/docs-content/release-notes/release-notes.md
index b51279dc93..47f2ea3bfc 100644
--- a/docs/docs-content/release-notes/release-notes.md
+++ b/docs/docs-content/release-notes/release-notes.md
@@ -101,10 +101,10 @@ the following sections for a complete list of features, improvements, and known
-- Support for is now available in Palette. You can create a custom image using the
- Konvoy image builder project and use it to deploy a Konvoy cluster. Check out the
- [Red Hat Linux Enterprise and Konvoy](../byoos/usecases/vmware/konvoy.md) guide to learn how to create a custom image
- and deploy a Konvoy cluster.
+- Support for is now available in
+ Palette. You can create a custom image using the Konvoy image builder project and use it to deploy a Konvoy cluster.
+ Check out the [Red Hat Linux Enterprise and Konvoy](../byoos/usecases/vmware/konvoy.md) guide to learn how to create a
+ custom image and deploy a Konvoy cluster.
- Multiple system administrators can now be added to the self-hosted Palette system console to help manage and maintain
the Palette instance. The feature helps organizations embrace the separation of duties by delegating different
diff --git a/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/airgap-install/install.md b/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/airgap-install/install.md
index 57068e875b..37403147ea 100644
--- a/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/airgap-install/install.md
+++ b/docs/docs-content/vertex/install-palette-vertex/install-on-kubernetes/airgap-install/install.md
@@ -176,8 +176,88 @@ environment. Reach out to our support team if you need assistance.
mirrorRegistries: "docker.io::my-oci-registry.com/spectro-images,gcr.io::my-oci-registry.com/spectro-images,ghcr.io::my-oci-registry.com/spectro-images,k8s.gcr.io::my-oci-registry.com/spectro-images,registry.k8s.io::my-oci-registry.com/spectro-images,quay.io::my-oci-registry.com/spectro-images"
```
-7. Go ahead and install the image-swap chart using the following command. Point to the **values.yaml** file you
- configured in steps five through six.
+7. Create an empty YAML file with the name **registry-secret.yaml**. Use the following command to create the file.
+
+ ```shell
+ touch registry-secret.yaml
+ ```
+
+8. Open the **registry-secret.yaml** file and copy the placeholder configuration below.
+
+ ```yaml
+ ---
+ apiVersion: v1
+ stringData:
+ DOMAIN: "REPLACE_WITH_CUSTOM_REGISTRY_DOMAIN"
+ BASE_PATH: "REPLACE_WITH_CUSTOM_REGISTRY_BASE_PATH"
+ USERNAME: "REPLACE_WITH_CUSTOM_REGISTRY_USERNAME"
+ PASSWORD: "REPLACE_WITH_CUSTOM_REGISTRY_PASSWORD"
+ INSECURE: "false"
+ CA_CERT: "REPLACE_WITH_CUSTOM_REGISTRY_CA_CERT"
+ MIRROR_REGISTRIES: REPLACE_WITH_CUSTOM_REGISTRY_MIRROR_REGISTRIES
+ kind: Secret
+ metadata:
+ name: registry-info
+ namespace: jet-system
+ type: Opaque
+ ---
+ ```
+
+ :::warning
+
+ Do not change the `kind`, `metadata` and `type` fields in the YAML file. Only replace the placeholder values with
+ the actual values for your custom image registry as indicated in the table below.
+
+ :::
+
+9. Replace the placeholder values with the actual values for your custom image registry. Use the same values that you
+ used in the `ociImageRegistry` section of the **values.yaml** file for the image-swap Helm chart. Refer to the table
+ below for a description of each parameter.
+
+ | Parameter | Description | Required |
+ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |
+ | `DOMAIN` | The domain of the custom image registry. | Yes |
+ | `BASE_PATH` | The base path to the custom image registry. | Yes |
+ | `USERNAME` | The username to authenticate with the custom image registry. If the custom image registry does not require authentication, you can leave this field empty. | No |
+ | `PASSWORD` | The password to authenticate with the custom image registry. If the custom image registry does not require authentication, you can leave this field empty. | No |
+ | `INSECURE` | Set to `true` if the custom image registry uses an insecure connection or a self-signed certificate. Set to `false` if the custom image registry uses a secure connection. | Yes |
+ | `CA_CERT` | The Certificate Authority of the custom image registry in the PEM format. This is required if the custom image registry uses a self-signed certificate. | No |
+ | `MIRROR_REGISTRIES` | A comma-separated list of mirror registries in the [image swap format](https://github.com/phenixblue/imageswap-webhook/blob/master/docs/configuration.md) to use for pulling images. For example: `docker.io::harbor.example.org/airgap-images/docker.io,gcr.io::harbor.example.org/airgap-images/gcr.io,ghcr.io::harbor.example.org/airgap-images/ghcr.io,k8s.gcr.io::harbor.example.org/airgap-images/gcr.io,registry.k8s.io::harbor.example.org/airgap-images/k8s.io,quay.io::harbor.example.org/airgap-images/quay.io,us-east1-docker.pkg.dev::harbor.example.org/airgap-images` | Yes |
+
+
+
+ Click here for a complete example configuration.
+
+ ```yaml
+ ---
+ apiVersion: v1
+ stringData:
+ DOMAIN: "harbor.example.org"
+ BASE_PATH: "airgap-images"
+ USERNAME: ""
+ PASSWORD: ""
+ INSECURE: "false"
+ CA_CERT: ""
+ MIRROR_REGISTRIES: docker.io::harbor.example.org/airgap-images/docker.io,gcr.io::harbor.example.org/airgap-images/gcr.io,ghcr.io::harbor.example.org/airgap-images/ghcr.io,k8s.gcr.io::harbor.example.org/airgap-images/gcr.io,registry.k8s.io::harbor.example.org/airgap-images/k8s.io,quay.io::harbor.example.org/airgap-images/quay.io,us-east1-docker.pkg.dev::harbor.example.org/airgap-images
+ kind: Secret
+ metadata:
+ name: registry-info
+ namespace: jet-system
+ type: Opaque
+ ---
+ ```
+
+
+
+10. Once you have created the YAML file and configured the parameter values, issue the following command to create the
+ Kubernetes secret containing the image registry configuration.
+
+ ```shell
+ kubectl create --filename registry-secret.yaml
+ ```
+
+11. Install the image-swap chart using the following command. Point to the **values.yaml** file you configured in steps
+ five through six.
```shell
helm upgrade --values extras/image-swap/values.yaml \
@@ -201,7 +281,7 @@ environment. Reach out to our support team if you need assistance.
:::
-8. Open the **values.yaml** file in the **spectro-mgmt-plane** folder with a text editor of your choice. The
+12. Open the **values.yaml** file in the **spectro-mgmt-plane** folder with a text editor of your choice. The
**values.yaml** file contains the default values for the Palette installation parameters. However, you must populate
the following parameters before installing Palette. You can learn more about the parameters on the **values.yaml**
file on the [Helm Configuration Reference](../vertex-helm-ref.md) page.
@@ -714,7 +794,7 @@ environment. Reach out to our support team if you need assistance.
:::
-9. This step is only required if you are installing VerteX in an environment where a network proxy must be configured
+13. This step is only required if you are installing VerteX in an environment where a network proxy must be configured
for VerteX to access the internet. If you are not using a network proxy, skip to the next step.
Install the reach-system chart using the following command. Point to the **values.yaml** file you configured in the
@@ -735,7 +815,7 @@ environment. Reach out to our support team if you need assistance.
TEST SUITE: None
```
-10. Install the VerteX Helm Chart using the following command.
+14. Install the VerteX Helm Chart using the following command.
```shell
helm upgrade --values vertex/values.yaml \
@@ -752,7 +832,7 @@ environment. Reach out to our support team if you need assistance.
TEST SUITE: None
```
-11. Track the installation process using the command below. VerteX is ready when the deployments in the namespaces
+15. Track the installation process using the command below. VerteX is ready when the deployments in the namespaces
`cp-system`, `hubble-system`, `ingress-nginx`, `jet-system`, and `ui-system` reach the _Ready_ state. The
installation takes between two to three minutes to complete.
@@ -767,7 +847,7 @@ environment. Reach out to our support team if you need assistance.
:::
-12. Create a DNS CNAME record that is mapped to the VerteX `ingress-nginx-controller` load balancer. You can use the
+16. Create a DNS CNAME record that is mapped to the VerteX `ingress-nginx-controller` load balancer. You can use the
following command to retrieve the load balancer IP address. You may require the assistance of your network
administrator to create the DNS record.
@@ -785,7 +865,7 @@ environment. Reach out to our support team if you need assistance.
:::
-13. Use the custom domain name or the IP address of the load balancer to visit the VerteX system console. To access the
+17. Use the custom domain name or the IP address of the load balancer to visit the VerteX system console. To access the
system console, open a web browser, paste the custom domain URL in the address bar, and append the value `/system`.
The first time you visit the VerteX system console, a warning message about a not-trusted SSL certificate may
@@ -794,7 +874,7 @@ environment. Reach out to our support team if you need assistance.
![Screenshot of the VerteX system console showing Username and Password fields.](/vertex_install-on-kubernetes_install_system-console.webp)
-14. Log in to the system console using the following default credentials. Refer to the
+18. Log in to the system console using the following default credentials. Refer to the
[password requirements](../../../system-management/account-management/credentials.md#password-requirements-and-security)
documentation page to learn more about password requirements.
@@ -809,7 +889,7 @@ environment. Reach out to our support team if you need assistance.
Refer to the [Account Management](../../../system-management/account-management/account-management.md) documentation
page for more information.
-15. After login, a summary page is displayed. VerteX is installed with a self-signed SSL certificate. To assign a
+19. After login, a summary page is displayed. VerteX is installed with a self-signed SSL certificate. To assign a
different SSL certificate, you must upload the SSL certificate, SSL certificate key, and SSL certificate authority
files to VerteX. You can upload the files using the VerteX system console. Refer to the
[Configure HTTPS Encryption](../../../system-management/ssl-certificate-management.md) page for instructions on how
diff --git a/docs/docs-content/vertex/system-management/ssl-certificate-management.md b/docs/docs-content/vertex/system-management/ssl-certificate-management.md
index 3b2ede89a9..40bde2ac0e 100644
--- a/docs/docs-content/vertex/system-management/ssl-certificate-management.md
+++ b/docs/docs-content/vertex/system-management/ssl-certificate-management.md
@@ -12,8 +12,8 @@ keywords: ["self-hosted", "vertex"]
Palette VerteX uses Secure Sockets Layer (SSL) certificates to secure internal and external communication with Hypertext
Transfer Protocol Secure (HTTPS). External VerteX endpoints, such as the
[system console](../system-management/system-management.md#system-console),
-[VerteX dashboard](../../introduction/dashboard.md), the VerteX API, and the gRPC endpoint, are enabled by default
-with HTTPS using an auto-generated self-signed certificate. You can replace the self-signed certificate with your SSL
+[VerteX dashboard](../../introduction/dashboard.md), the VerteX API, and the gRPC endpoint, are enabled by default with
+HTTPS using an auto-generated self-signed certificate. You can replace the self-signed certificate with your SSL
certificate to secure these endpoints.
:::info
diff --git a/docs/docs-content/vm-management/create-manage-vm/advanced-topics/deploy-import-ova.md b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/deploy-import-ova.md
index 7ff5b96ab1..8afd82ba9e 100644
--- a/docs/docs-content/vm-management/create-manage-vm/advanced-topics/deploy-import-ova.md
+++ b/docs/docs-content/vm-management/create-manage-vm/advanced-topics/deploy-import-ova.md
@@ -257,7 +257,7 @@ name, for example `cdi-uploadproxy.mycompany.io`, to the Nginx load balancer’s
| **Parameter** | **Description** | **Values** |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
- | **OVA Path** | The path to the OVA you uploaded to your VM. The path for the example provided is `/root/bitnami-wordpress-6.2.2-r1-debian-11-amd64.ova/`. | |
+ | **OVA Path** | The path to the OVA you uploaded to your VM. The path for the example provided is `/root/bitnami-wordpress-6.2.2-r1-debian-11-amd64.ova/`. | |
| **Container Disk Upload Method** | Indicate whether to upload the image directly to the target cluster as a `DataVolume` or build and push a Docker image. You will need to provide an existing image registry if you select Docker. | `DataVolume` / `Docker Image` |
| **Kubeconfig Path** | The path to the kubeconfig file you have uploaded to your VM. | |
| **DataVolume Namespace** | The namespace to create your `DataVolume`, if you selected this option previously. | |