- Overview
- Requirements
- Pre-installation
- Preparing the installation
- Downloading the installation packages
- Configuring the OCI-compliant registry
- Granting installation permissions
- Installing and configuring the service mesh
- Installing and configuring the GitOps tool
- Installing the External Secrets Operator in Kubernetes
- Applying miscellaneous configurations
- Running uipathctl
- Installation
- Post-installation
- Migration and upgrade
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- Orchestrator advanced configuration
- Configuring Orchestrator parameters
- Configuring appSettings
- Configuring the maximum request size
- Overriding cluster-level storage configuration
- Configuring NLog
- Saving robot logs to Elasticsearch
- Configuring credential stores
- Configuring encryption key per tenant
- Cleaning up the Orchestrator database
- Skipping host library installation
- AI Trust Layer
- Troubleshooting
- The backup setup does not work due to a failure to connect to Azure Government
- Pods in the uipath namespace stuck when enabling custom node taints
- Unable to launch Automation Hub and Apps with proxy setup
- Velero backup fails with FailedValidation error
- External Secrets troubleshooting
- Temporal as a Service troubleshooting
- AI Center and Document Understanding pods fail to start with TLS certificate verification enabled
- TLS certificate validation errors
- Fluentd does not export logs in IPv6 environments
- Studio Desktop cannot load Integration Service connectors and activities
- Manual ArgoCD NetworkPolicy mitigation (GHSA-47m3-95c7-g2g8)
- Configuring resource requests and limits for uipathctl-created workloads
Configuring the OCI-compliant registry
Configure and manage OCI-compliant container registries for offline Automation Suite deployments.
In offline installations, you need a registry compliant with OCI (Open Container Initiative) to store the container images and deployment Helm charts.
Uploading the Automation Suite artifacts to the external OCI-compliant registry
There are two ways to upload the Automation Suite artifacts to the external OCI-compliant registry:
- Option A: By mirroring your OCI-compliant registry with the UiPath® registry
- Option B: By hydrating your OCI-compliant registry with the offline bundle
The following table compares the two options to upload the artifacts to the registry so that you can choose the one that suits your needs:
| Option A: Mirroring the registry | Option B: Hydrating the registry |
|---|---|
| Copies the artifacts from the UiPath® registry to any target registry. | Uses the offline tarball to untar and upload the artifacts to the target registry. |
| Requires Docker and Helm tools. | Requires Podman and Helm tools. |
| Requires internet access to copy the artifacts from the UiPath® registry to the target registry. | Requires internet access only to download the offline tarball to the jump server. Uploading the tarball does not require internet access. |
Requires a temporary space to cache the images during the copying method. This space is usually configured during the Docker installation. The default location is /var/lib/docker. | Requires a temporary space to extract the tarball and a temporary space for Podman to load the images. The location of the tarball extraction must be provided during the hydration step. The Podman location can be /var/tmp, which must have adequate storage available. |
The required storage capacity for the /var/lib/docker directory is around 128 GB. | The required storage capacity for the extraction is around 200 GB, and /var/tmp must be 256 GB. |
It is recommended to perform the mirroring or hydration operation from the management machine or jump box, instead of using the server nodes.
Option A: Mirroring the UiPath® registry to your registry
This method requires internet access on the jump machine from which you upload the Automation Suite artifacts to your OCI-compliant registry.
Prerequisites for mirroring the UiPath® registry
To mirror the UiPath® registry, you need the following:
- a VM running a Linux distribution (recommended) or a laptop (not recommended)
- a Docker client authenticated with the private registry
- Helm 3.8 or newer authenticated with the private registry
as-images.txtas-helm-charts.txtmirror-registry.sh- outbound connectivity to
registry.uipath.com - 128 GB of free disk space for Docker under the
/var/lib/dockerpartition on the machine from which you upload the container images and charts
Installing Docker and Helm
You must have Docker and Helm installed and authenticated on the machine from which you plan to upload the Automation Suite container images and charts to your registry.
- To download the Docker binaries, refer to the official documentation.
- To authenticate the Docker registry, refer to the official documentation. Alternatively, you can use the following command by replacing the sample credentials with your actual registry credentials:
docker login my.registry.io:443 --username "admin" --password "secret"docker login my.registry.io:443 --username "admin" --password "secret" - To download the Helm binaries, refer to the official documentation.
- To authenticate the Helm registry, refer to the official documentation. Alternatively, you can use the following command by replacing the sample credentials with your actual registry credentials:
helm registry login my.registry.io:443 --username "admin" --password "secret"helm registry login my.registry.io:443 --username "admin" --password "secret"
Downloading the artifacts
Download the following artifacts before proceeding:
as-images.txt: refer to Downloading the installation packagesas-helm-charts.txt: refer to Downloading the installation packagesmirror-registry.sh: refer to Downloading the installation packages- Optional Document Understanding bundles: refer to Document Understanding classic documentation or Document Understanding documentation
Uploading the Automation Suite images to your registry
The mirror-registry.sh script requires outbound connectivity to the source (default registry.uipath.com) and target registries.
The mirror-registry.sh script does not perform authentication to the registry. It is assumed that you have already authenticated to the registry.
The following table describes the available flags for the mirror-registry.sh script.
| Flag | Environment variable | Required | Description |
|---|---|---|---|
--images-manifest | IMAGES_MANIFEST | Yes | Path to the image manifest file. |
--helm-charts-manifest | HELM_CHARTS_MANIFEST | Yes | Path to the Helm chart manifest file. |
--target-registry-url | TARGET_REGISTRY_URL | Yes | URL of the target registry. |
--source-registry-url | SOURCE_REGISTRY_URL | No | URL of the source registry. The default is registry.uipath.com. |
To upload the Automation Suite images to your registry:
- Ensure that you have the necessary permissions to execute the shell script, by running the following command:
chmod +x mirror-registry.shchmod +x mirror-registry.sh - Upload the Automation Suite images to your registry, by running the following command:
For registries such as Harbor that require a project, append the project name to the target registry URL:
./mirror-registry.sh --target-registry-url my.registry.io:443 --source-registry-url registry.uipath.com --images-manifest /home/myuser/as-images.txt --helm-charts-manifest /home/myuser/as-helm-charts.txt./mirror-registry.sh --target-registry-url my.registry.io:443 --source-registry-url registry.uipath.com --images-manifest /home/myuser/as-images.txt --helm-charts-manifest /home/myuser/as-helm-charts.txt./mirror-registry.sh --target-registry-url my.registry.io:443/myproject --source-registry-url registry.uipath.com --images-manifest /home/myuser/as-images.txt --helm-charts-manifest /home/myuser/as-helm-charts.txt./mirror-registry.sh --target-registry-url my.registry.io:443/myproject --source-registry-url registry.uipath.com --images-manifest /home/myuser/as-images.txt --helm-charts-manifest /home/myuser/as-helm-charts.txt
Option B: Hydrating the registry with the offline bundle
This method only requires internet access on the jump machine to download the offline bundle. Once the bundle is available, you can upload to your OCI-compliant registry without an internet connection.
This method may also require additional space on the machine to un-tar and upload to your registry. In addition, this method may take longer than the mirroring approach.
Prerequisites for hydrating the registry
To hydrate the registry, you need the following:
- a VM running a Linux distribution is preferred over running the script on a laptop
- ability to download and copy or somehow propagate the offline bundle to the VM
- Helm 3.8 or newer authenticated with the private registry
- Podman installed, configured, and authenticated with the private registry
- 150 GB of free disk space for Podman under
/var/lib/containersfor loading the containers locally before pushing them to the remote registry. If you need to change the default path, update thegraphRootvariable in the/etc/containers/storage.conffile. For example, you can editstorage.confusingsudo nano /etc/containers/storage.conf, changegraphRootto your new path, and then verify that the path is updated using thepodman infocommand. - Set the
TMP_DIRenvironment variable as described in the official Podman documentation. This variable specifies the temporary storage for downloaded container images during pull and build operations, crucial for avoiding out-of-space errors if/var/tmpis limited. as-cmk.tar.gz
Installing Podman and Helm
You must ensure you have Podman and Helm installed and authenticated on the machine from which you plan to upload the Automation Suite container images and charts to your registry.
- To download the Podman binaries, refer to the official documentation.
- To authenticate to the Podman registry, refer to the official documentation. Alternatively, you can use the following command by replacing the sample credentials with your actual registry credentials:
podman login my.registry.io:443 --username "admin" --password "secret"podman login my.registry.io:443 --username "admin" --password "secret" - To download the Helm binaries, refer to the official documentation.
- To authenticate the Helm registry, refer to the official documentation. Alternatively, you can use the following command by replacing the sample credentials with your actual registry credentials:
helm registry login my.registry.io:443 --username "admin" --password "secret"helm registry login my.registry.io:443 --username "admin" --password "secret"
Downloading the artifacts
Download the following artifacts before proceeding:
as-cmk.tar.gz: refer to Downloading the installation packageshydrate-registry.sh: refer to Downloading the installation packages- Optional Document Understanding bundles: refer to Document Understanding classic documentation or Document Understanding documentation
Uploading the Automation Suite images to the registry
To upload the Automation Suite images to the registry, use the hydrate-registry.sh script.
The hydrate-registry.sh script does not require outbound connectivity except with the target registries.
The hydrate-registry.sh script does not perform authentication to the registry. It is assumed that you have already authenticated to the registry.
The following table describes the available flags for the hydrate-registry.sh script.
| Flag | Required | Description |
|---|---|---|
--offline-bundle-path | Yes | Path to the offline bundle. |
--target-registry-url | Yes | URL of the target registry. |
--extract-path | Yes | The location to be used to untar the offline bundle. It can be either /var/lib/containers or a custom location. Ensure you have a minimum of 100 GB of storage. It is recommended to have 256 GB of storage. |
To upload the Automation Suite images to the registry:
- Ensure that we have the necessary permissions to execute the shell script, by running the following command:
chmod +x hydrate-registry.shchmod +x hydrate-registry.sh - Upload the Automation Suite images to your registry by running the following command:
For registries such as Harbor that require a project, append the project name to the target registry URL:
./hydrate-registry.sh --target-registry-url my.registry.io:443 --offline-bundle-path /path/to/as-cmk.tar.gz --extract-path /tmp./hydrate-registry.sh --target-registry-url my.registry.io:443 --offline-bundle-path /path/to/as-cmk.tar.gz --extract-path /tmpFor Document Understanding offline bundles, make sure to include./hydrate-registry.sh --target-registry-url my.registry.io:443/myproject --offline-bundle-path /path/to/as-cmk.tar.gz./hydrate-registry.sh --target-registry-url my.registry.io:443/myproject --offline-bundle-path /path/to/as-cmk.tar.gz--extract-pathin the command:./hydrate-registry.sh --target-registry-url my.registry.io:443 --optional-bundle-path ./dusemistructured-2023.10.0.tar.gz --extract-path /tmp./hydrate-registry.sh --target-registry-url my.registry.io:443 --optional-bundle-path ./dusemistructured-2023.10.0.tar.gz --extract-path /tmp
Configuring the certificate for the external OCI-compliant registry
To properly configure your external OCI-compliant registry, you must update the trust store of all the machines on which you plan to install Automation Suite. For instructions on how to perform this step post-installation, refer to Managing certificates.