diff --git a/docs/docs-content/registries-and-packs/deploy-pack.md b/docs/docs-content/registries-and-packs/deploy-pack.md
index dd62653dd8..c9ff2d7c77 100644
--- a/docs/docs-content/registries-and-packs/deploy-pack.md
+++ b/docs/docs-content/registries-and-packs/deploy-pack.md
@@ -44,16 +44,16 @@ To complete this tutorial, ensure you have the following prerequisites in place:
[Add an AWS Account to Palette](https://docs.spectrocloud.com/clusters/public-cloud/aws/add-aws-accounts) guide for
instructions.
- An SSH key available in the region where you plan to deploy the cluster.
-- [Docker Desktop](https://docs.docker.com/get-docker/) installed on your local machine to start the tutorial container.
-- Basic knowledge of Docker containers and Kubernetes manifest file attributes. Refer to the
+- [Docker](https://docs.docker.com/get-docker/) or [Podman](https://podman.io/docs/installation) installed on your local
+ machine to start the tutorial container.
+- Basic knowledge of containers and Kubernetes manifest file attributes. Refer to the
[Docker Get Started](https://docs.docker.com/get-started/) guide and the
[Learn Kubernetes Basics](https://kubernetes.io/docs/tutorials/kubernetes-basics/) tutorial to start learning.
If you choose to use an OCI registry, you will need the following item.
-
-
-- An active OCI registry such as [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/).
+- An active OCI registry such as [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/) or
+ [Harbor](https://goharbor.io/).
If you opt for an ECR OCI registry, you will require the following.
@@ -73,19 +73,23 @@ If you opt for an ECR OCI registry, you will require the following.
:::warning
-There could be AWS expenses associated with this tutorial. After completing the tutorial, make sure to delete the
-infrastructure to avoid additional charges.
+AWS expenses are associated with this tutorial. An estimated hourly cost is provided by Palette during the cluster
+creation step. After completing the tutorial, make sure to delete the infrastructure to avoid additional charges.
:::
## Set Up the Tutorial Environment
-In this tutorial, you will work in a Docker container pre-configured with the necessary tools. Alternatively, you can
-choose to follow along with the tutorial in any `linux/amd64` or `x86_64` environment by installing the
+In this tutorial, you will work in a container pre-configured with the necessary tools. Alternatively, you can choose to
+follow along with the tutorial in any `linux/amd64` or `x86_64` environment by installing the
[required tools](https://github.com/spectrocloud/tutorials/blob/main/docs/docker.md#docker) and cloning the
[GitHub repository](https://github.com/spectrocloud/tutorials/) that contains the tutorial files. To initialize the
tutorial container, follow the steps described below.
+
+
+
+
Start Docker Desktop on your local machine and ensure that the Docker daemon is available by issuing a command to list
the currently active containers.
@@ -106,7 +110,34 @@ Next, start the container and open a bash session into it.
docker run --name tutorialContainer --publish 7000:5000 --interactive --tty ghcr.io/spectrocloud/tutorials:1.1.2 bash
```
-If the port 7000 on your local machine is unavailable, you can use any other port of your choice.
+
+
+
+
+Ensure that Podman is available by issuing a command to list the currently active containers.
+
+```bash
+podman ps
+```
+
+Use the following command to download the `ghcr.io/spectrocloud/tutorials:1.1.2` image to your local machine. This image
+includes the necessary tools.
+
+```bash
+podman pull ghcr.io/spectrocloud/tutorials:1.1.2
+```
+
+Next, start the container and open a bash session into it.
+
+```bash
+podman run --name tutorialContainer --publish 7000:5000 --interactive --tty ghcr.io/spectrocloud/tutorials:1.1.2 bash
+```
+
+
+
+
+
+If the port 7000 on your local machine is unavailable, you can use any other port of your choice.
:::warning
@@ -114,21 +145,17 @@ Do not exit the container until the tutorial is complete. Otherwise, you may los
:::
-
-
## Build a Pack
Building a custom pack involves defining specific files. As outlined in the
[Adding Add-on Packs](adding-add-on-packs.md) guide, there are two ways to define a custom pack: using manifest files or
Helm charts. The file structure differs for manifest-based packs and Helm chart-based packs. Below is the reference file
-structure for each.
+structure for each.
-
-
```bash hideClipboard
.
├── pack.json # Mandatory.
@@ -145,8 +172,6 @@ structure for each.
-
-
```bash hideClipboard
.
├── pack.json # Mandatory.
@@ -174,8 +199,6 @@ structure for each.
-
-
For your convenience, we provide you with the manifest-based pack files for the Hello Universe application. These files
are located in the **packs/hello-universe-pack** folder.
@@ -197,8 +220,6 @@ Ensure you have the following files in the current directory.
└── README.md # Optional.
```
-
-
### Pack File Structure
Review each of the following five files in the **hello-universe-pack** folder.
@@ -220,8 +241,6 @@ Review each of the following five files in the **hello-universe-pack** folder.
}
```
-
-
- **values.yaml** - This file contains configurable parameters you can define while adding the current pack to a cluster
profile. In the **values.yaml** file for this tutorial, the `pack/namespace` attribute specifies the namespace on the
target cluster to deploy the pack. If the **values.yaml** specifies a namespace value, then Palette first checks to
@@ -233,7 +252,7 @@ Review each of the following five files in the **hello-universe-pack** folder.
The `manifests` section exposes the configurable parameters for each manifest file listed in the **manifests**
directory. For example, in the sample code snippet below, the `hello-universe` attribute exposes the `registry`,
- `repository`, and `tag` parameters.
+ `repository`, and `tag` parameters.
```yaml
pack:
@@ -245,8 +264,6 @@ Review each of the following five files in the **hello-universe-pack** folder.
tag: 1.0.12
```
-
-
Optionally, you can define _presets_, which are pack configuration values predefined in a file called **presets.yaml**
within the pack. Once defined, the **Presets** field becomes visible in both the **Clusters** and **Profile** sections
of the Palette UI. Users can select any preset from the available pack presets, and upon selection, the predefined
@@ -260,18 +277,16 @@ Review each of the following five files in the **hello-universe-pack** folder.
- **manifests** - This directory contains the manifest files for your Kubernetes application. This tutorial has only one
manifest, **hello-universe.yaml**. Note that the **values.yaml** file has a corresponding `manifests/hello-universe`
- element with the same name as the YAML file.
+ element with the same name as the YAML file.
-- **logo.png** - This file contains a logo that displays when you create a cluster profile.
+- **logo.png** - This file contains a logo that displays when you create a cluster profile.
- **README.md** - This file may contain the pack description, purpose, authors, and other relevant information. The
- README in the current example introduces the application used in the pack.
+ README in the current example introduces the application used in the pack.
After completing the review of all files in the pack directory, the next step is to set up a registry server, publish
the pack to the registry, and configure the registry in Palette.
-
-
## Set Up the Registry Server
You can set up a registry server using either the Spectro registry or an OCI-compliant registry. Palette supports all
@@ -283,7 +298,9 @@ per the [Prerequisites](#prerequisites) section, ensure you have an active OCI r
are available: **Amazon (ECR)** and **Basic**. To learn more about Amazon ECR, consult the
[What is ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) user guide.
-
+For Basic OCI Authentication, this tutorial uses a [Harbor registry](https://goharbor.io/) as an example. However, you
+have the flexibility to opt for the OCI registry of your choice. Learn how to set up a Harbor registry server using the
+[Harbor Installation and Configuration](https://goharbor.io/docs/2.9.0/install-config/) guide.
The following sections will guide you through starting the registry server, authenticating, pushing your custom add-on
pack, and, finally, configuring the registry server in Palette. Select the tab below corresponding to the registry type
@@ -295,8 +312,6 @@ you want to use.
-
-
Start the registry server by issuing the following command from the tutorial container bash session initialized in the
[Set Up the Tutorial Environment](#set-up-the-tutorial-environment) section.
@@ -328,8 +343,6 @@ a `{"status":"UP"}` response.
-
-
The initial step to creating the pack's repository in the ECR registry is to export your AWS credentials as environment
variables for authentication.
@@ -370,56 +383,67 @@ Next, create the repository to store the Hello Universe pack.
aws ecr create-repository --repository-name $REGISTRY_NAME/spectro-packs/archive/$NAME --region $AWS_DEFAULT_REGION
```
-
-
:::warning
Make sure to include the **spectro-packs/archive** path in _all_ your repositories to meet Palette's requirements.
:::
-
-
This configuration sets up the required environment and repositories for pushing the Hello Universe pack to your ECR
Registry.
-
+
-
-
### Log in to the Registry Server
-
-
Once the `/health` endpoint of the registry server displays an `UP` status, proceed to the authentication step. In a new
terminal window, start another bash session in the tutorial container.
+
+
+
+
```bash
docker exec -it tutorialContainer bash
```
+
+
+
+
+```bash
+podman exec -it tutorialContainer bash
+```
+
+
+
+
+
Log in to the registry server using the Ngrok public URL assigned to you. Issue the following command, replacing the URL
with your Ngrok URL. The `--insecure` flag indicates that the connection to the Spectro registry will be made without
verifying the TLS certificate. The command below uses these credentials to log in to the registry server:
@@ -430,8 +454,6 @@ spectro registry login --insecure --default --username admin --password admin \
58ec-174-119-143-38.ngrok-free.app
```
-
-
:::warning
Do not include the "https://" or "http://" prefixes in the Ngrok URL. Using either of these prefixes will result in an
@@ -439,8 +461,6 @@ authorization issue.
:::
-
-
You will receive a `Login Succeeded` response upon successful login.
```bash hideClipboard
@@ -449,14 +469,10 @@ WARNING! Your password will be stored unencrypted in /root/.spectro/config.json.
Login Succeeded
```
-
-
-
-
After you have created the repositories, authenticate to your ECR registry using the `aws ecr get-login-password`
command. The ECR authorization token is then passed to the `oras login` command with **AWS** as username and the
registry Uniform Resource Identifier (URI). [Oras](https://oras.land/docs/) is a CLI tool to push and pull OCI artifacts
@@ -474,11 +490,10 @@ Login Succeeded
-
+
-
-
### Push the Pack to the Registry Server
-
-
Once you are logged in, push the pack to the registry server using the following command.
```bash
@@ -531,14 +543,10 @@ Check if the pushed pack is listed, as shown in the image below.
For assistance with Spectro CLI commands, refer to the [Spectro CLI Commands](spectro-cli-reference.md#commands) guide.
-
-
-
-
Once you are authenticated to your ECR registry, navigate to the **packs** directory, which contains the pack folder,
**hello-universe-pack**.
@@ -590,11 +598,10 @@ Universe pack in the repository.
-
+
-
-
### Configure the Registry Server in Palette
-
-
After pushing the pack to the registry server, follow the next steps to log in to Palette and add the registry server to
it.
@@ -682,14 +688,10 @@ next to the registry server name and selecting **Sync**.
![Screenshot of registry server sync in Palette](/tutorials/deploy-pack/registries-and-packs_deploy-pack_registry-sync.png)
-
-
-
-
After pushing the pack to the ECR registry, follow the next steps to log in to Palette and add the ECR registry to it.
Log in to [Palette](https://console.spectrocloud.com) and switch to the **Tenant Admin** view.
@@ -721,45 +723,41 @@ the registry name and selecting **Sync**.
-
+
-
-
## Create a Cluster Profile and Deploy a Cluster
Once you have configured the registry, create a cluster profile and apply the profile to a cluster in Palette. This
@@ -769,8 +767,6 @@ tutorial provides two workflows from which you can choose: Palette User Interfac
-
-
### Create a Cluster Profile
Switch to the **Default** project scope for creating a cluster profile.
@@ -792,7 +788,7 @@ Complete the wizard using the values provided below.
| Type | Full |
| Tags | `spectro-cloud-education, app:hello-universe, terraform_managed:false` |
-Click on **Next** to continue.
+Click on **Next** to continue.
#### Cloud Type
@@ -806,8 +802,6 @@ If you choose a different cloud provider, note that the options for core infrast
:::
-
-
#### Profile Layers
In the **Profile Layers** section, add the following core infrastructure layers.
@@ -836,19 +830,15 @@ but it will help connect your local machine to the cluster's API for debugging.
Click on the **Confirm & Create** button to finish adding the Spectro Proxy pack.
Now, click on the Kubernetes layer and add the following certificate Subject Alternative Name (SAN) value under the
-`apiServer` parameter section to configure the Spectro Proxy pack.
+`apiServer` parameter section to configure the Spectro Proxy pack.
```yaml
certSANs:
- "cluster-{{ .spectro.system.cluster.uid }}.{{ .spectro.system.reverseproxy.server }}"
```
-
-
![Screenshot of the certificate Subject Alternative Name.](/tutorials/deploy-pack/registries-and-packs_deploy-pack_profile-certsan.png)
-
-
Finally, add the Hello Universe pack. Click on **Add New Pack** and select the registry you created earlier in this
tutorial. The table below specifies the registry name corresponding to the registry type. For example, if you created an
ECR registry, select **ecr-registry**.
@@ -857,8 +847,7 @@ ECR registry, select **ecr-registry**.
| ------------- | ----------------- | --------------------- | -------------- | ---------------- |
| App Services | Spectro Registry | spectro-pack-registry | Hello Universe | `1.0.x` |
| App Services | ECR | ecr-registry | Hello Universe | `1.0.x` |
-
-
+| App Services | Basic | harbor-registry | Hello Universe | `1.0.x` |
Click on the **Confirm & Create** button to finish adding the Hello Universe pack.
@@ -869,15 +858,13 @@ click **Next**.
#### Review
-Review the cluster layers and click on **Finish Configuration** to complete the creation of the cluster profile.
+Review the cluster layers and click on **Finish Configuration** to complete the creation of the cluster profile.
### Create a Cluster
Navigate to the **Profiles** page and select the recently created cluster profile. Click on the **Deploy** button to
start the deployment of a new cluster.
-
-
#### Basic Information
For the first section, **Basic information**, use the following values.
@@ -891,8 +878,6 @@ For the first section, **Basic information**, use the following values.
Click **Next** to proceed.
-
-
#### Parameters
The **Parameters** section allows you to change the profile configurations. For example, by clicking on the **Hello
@@ -903,8 +888,6 @@ Universe 1.0.x** layer, you can configure the `registry`, `repository`, and `tag
Keep the default values and click **Next**.
-
-
#### Cluster config
In the **Cluster config** section, make sure to uncheck the **Static Placement** field. If it is checked, the **Static
@@ -919,40 +902,34 @@ Ensure that you have already created an SSH key in the AWS region where you plan
Click **Next** to continue.
-
-
#### Nodes config
In the **Nodes config** section, provide the details for the control plane and worker pools. For this tutorial, you can
use the following minimal configuration:
-| **Field** | **Value for the control-plane-pool** | **Value for the worker-pool** |
-| --------------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
-| Node pool name | control-plane-pool | worker-pool |
-| Number of nodes in the pool | `1` | `1` |
-| Allow worker capability | Checked | Not applicable |
-| Enable Autoscaler | Not applicable | No |
-| Rolling update | Not applicable | Expand First.
Launch a new node first, then shut down the old one. |
+| **Field** | **Value for the control-plane-pool** | **Value for the worker-pool** |
+| --------------------------- | ------------------------------------ | ------------------------------------------------------------------ |
+| Node pool name | control-plane-pool | worker-pool |
+| Number of nodes in the pool | `1` | `1` |
+| Allow worker capability | Checked | Not applicable |
+| Enable Autoscaler | Not applicable | No |
+| Rolling update | Not applicable | Expand First. Launch a new node first, then shut down the old one. |
Keep the **Cloud Configuration** the same for both control plane and worker pools.
-| **Field** | **Value** |
-| ------------------ | ---------------------------------------------------------------------------------------------------------------- |
-| Instance Type | General purpose `m4.xlarge`
A minimum allocation of four CPU cores is required for the control plane node. |
-| Availability zones | Choose any _one_ availability zone.
This tutorial uses the `us-east-1a` availability zone. |
-| Disk size | 60 GiB |
+| **Field** | **Value** |
+| ------------------ | ---------------------------------------------------------------------------------------------------------- |
+| Instance Type | General purpose `m4.xlarge` A minimum allocation of four CPU cores is required for the control plane node. |
+| Availability zones | Choose any _one_ availability zone. This tutorial uses the `us-east-1a` availability zone. |
+| Disk size | 60 GiB |
Click **Next** to continue.
-
-
#### Settings
The **Settings** section displays options for OS patching, scheduled scans, scheduled backups, and cluster role binding.
Use the default values, and click on the **Validate** button.
-
-
#### Review
Review all configurations in this section. The **Review** page displays the cluster name, tags, cloud account name, node
@@ -963,8 +940,6 @@ While the deployment is in progress, Palette displays the cluster status as **Pr
cluster to finish deploying, you can explore the various tabs on the cluster page, such as **Overview**, **Workloads**,
and **Events**.
-
-
@@ -979,11 +954,25 @@ single source of truth for all infrastructure.
Return to your tutorial container bash session to locate the starter Terraform files. If you have closed the terminal
session, you can open another bash session in the tutorial container using the following command.
+
+
+
+
```bash
docker exec -it tutorialContainer bash
```
-
+
+
+
+
+```bash
+podman exec -it tutorialContainer bash
+```
+
+
+
+
Navigate to the **/terraform/pack-tf** directory, which contains the Terraform code for this tutorial.
@@ -991,8 +980,6 @@ Navigate to the **/terraform/pack-tf** directory, which contains the Terraform c
cd /terraform/pack-tf
```
-
-
### Set Up the Spectro Cloud API Key
To get started with Terraform code, you need a Palette API key to authenticate and interact with the Palette API
@@ -1015,8 +1002,6 @@ Below are the steps to add and export an API key:
export SPECTROCLOUD_APIKEY=
```
-
-
### Review the Terraform Files
Ensure you have the following files in the current working directory.
@@ -1032,17 +1017,13 @@ Ensure you have the following files in the current working directory.
└── provider.tf # Spectro Cloud Terraform provider
```
-
-
:::warning
Note that the Terraform code will deploy the resources to **AWS**.
:::
-
-
-We recommend that you explore all Terraform files. Below is a high-level overview of each file.
+We recommend that you explore all Terraform files. Below is a high-level overview of each file.
- **profile.tf** - contains the configuration for the `spectrocloud_cluster_profile` resource. Review the core
infrastructure layers that make up the `spectrocloud_cluster_profile` resource.
@@ -1085,11 +1066,11 @@ We recommend that you explore all Terraform files. Below is a high-level overvie
deploy the cluster.
- Next, provide your registry server name for the `spectro_pack_registry` variable. For example, you can use the
**spectro-pack-registry** as the value if you have followed this tutorial's naming convention and used the Spectro
- registry. If you used an ECR registry, set the registry server name to **ecr-registry**.
-
+ registry. If you used an ECR registry, set the registry server name to **ecr-registry**. Lastly, if you used a
+ Harbor registry, set the registry server name to **harbor-registry**.
- Lastly, set the value of the `use_oci_registry` variable to either true or false. For instance, if you are not using
- an OCI registry, set this value to false. The default value is set to true.
+ an OCI registry, set this value to false. The default value is set to true.
```bash
cluster_cloud_account_aws_name = "REPLACE ME" # Name of the cloud account added to your Palette project settings.
@@ -1104,8 +1085,6 @@ We recommend that you explore all Terraform files. Below is a high-level overvie
- **provider.tf** - contains the provider configuration and version.
-
-
### Deploy Terraform
After updating the **terraform.tfvars** file and carefully reviewing the other files, initialize the Terraform provider.
@@ -1152,8 +1131,6 @@ the provided screenshot.
![Screenshot of the successful Profile in Palette.](/tutorials/deploy-pack/registries-and-packs_deploy-pack_verify-cluster.png)
-
-
@@ -1167,7 +1144,7 @@ cluster's **Overview** page and monitor the provisioning progress.
Once the cluster status displays **Running** and **Healthy**, you can access the application through the exposed service
URL along with the displayed port number. For the Hello Universe application, port 8080 is exposed. Click on the
-**Services** URL to access the application.
+**Services** URL to access the application.
:::warning
@@ -1176,12 +1153,8 @@ the public load balancer URL, preventing the browser from caching an unresolved
:::
-
-
![Screenshot of the successful accessing the application using the load balancer URL.](/tutorials/deploy-pack/registries-and-packs_deploy-pack_success.png)
-
-
You can also look at real-time metrics, such as CPU and memory consumption, in the cluster's **Overview** tab in
Palette.
@@ -1189,22 +1162,16 @@ Palette.
By using your custom pack, you have successfully deployed the **Hello Universe** application to the cluster.
-
-
## Cleanup
The following steps will guide you in cleaning up your environment. Follow the Palette-specific steps if you used
Palette to deploy the cluster. Alternatively, use Terraform commands to delete the cluster if you used Terraform for
deployment.
-
-
-
-
#### Delete the Cluster and Cluster Profile
Navigate to the **Cluster** section in Palette's left **Main Menu** and access the details page for the
@@ -1213,7 +1180,7 @@ select the **Delete Cluster** option. Palette will prompt you to enter the clust
![Screenshot of deleting the cluster in Palette.](/tutorials/deploy-pack/registries-and-packs_deploy-pack_delete-cluster.png)
-The cluster status will display **Deleting**, and the deletion may take up to 10 minutes.
+The cluster status will display **Deleting**, and the deletion may take up to 10 minutes.
:::info
@@ -1223,8 +1190,6 @@ clusters that are stuck in the deletion phase for over 24 hours.
:::
-
-
After deleting the cluster, proceed to delete the cluster profile. In the left **Main Menu**, click on **Profiles** and
select the profile you want to delete. Next, click on the **Delete** option in the **three-dot Menu**.
@@ -1232,14 +1197,10 @@ select the profile you want to delete. Next, click on the **Delete** option in t
Wait for the resources to complete cleanup and ensure they are successfully deleted.
-
-
-
-
#### Delete the Cluster and Cluster Profile
If you deployed the cluster using Terraform, switch back to the tutorial container and issue the following command
@@ -1256,14 +1217,10 @@ Wait for the resources to complete cleanup. Deleting the Terraform resources may
Destroy complete! Resources: 2 destroyed.
```
-
-
-
-
#### Delete the Registry Server
After deleting the cluster and cluster profile, navigate to the **Tenant Settings** > **Registries** > **Pack
@@ -1327,17 +1284,32 @@ The output should provide information regarding the deleted repositories.
}
```
-
+Last, if you used a Basic registry, such as Harbor, make sure to delete your Harbor registry server.
-At this point, you can close all the bash sessions. To remove the container and the image from the local machine, issue
+At this point, you can close all the bash sessions. To remove the container and the image from your local machine, issue
the following commands.
+
+
+
+
```bash
docker container rm --force tutorialContainer
docker image rm --force ghcr.io/spectrocloud/tutorials:1.1.2
```
-
+
+
+
+
+```bash
+podman container rm --force tutorialContainer
+podman image rm --force ghcr.io/spectrocloud/tutorials:1.1.2
+```
+
+
+
+
## Wrap-Up
diff --git a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_architecture-diagram.png b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_architecture-diagram.png
index 527e042a9d..50990a9833 100644
Binary files a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_architecture-diagram.png and b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_architecture-diagram.png differ
diff --git a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry-edit.png b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry-edit.png
index d28f88fffb..c7f38eda66 100644
Binary files a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry-edit.png and b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry-edit.png differ
diff --git a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry-sync.png b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry-sync.png
index 403daaf14e..d8c2a48a7d 100644
Binary files a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry-sync.png and b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry-sync.png differ
diff --git a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry.png b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry.png
index adbbb959a2..131612076a 100644
Binary files a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry.png and b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_basic-oci-registry.png differ
diff --git a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-login.png b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-login.png
index 727ba97f21..01a2d4af1f 100644
Binary files a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-login.png and b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-login.png differ
diff --git a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-project.png b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-project.png
index 2b3ff2c59d..a2a2dd8d33 100644
Binary files a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-project.png and b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-project.png differ
diff --git a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-repository.png b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-repository.png
index 843b732701..3cfbabf1f6 100644
Binary files a/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-repository.png and b/static/assets/docs/images/tutorials/deploy-pack/registries-and-packs_deploy-pack_harbor-repository.png differ