- 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
Installing and configuring the GitOps tool
Install and configure ArgoCD GitOps tool for Automation Suite on EKS/AKS.
Before proceeding with the ArgoCD installation and configuration, you must install Istio and provide all the required permissions to the uipathadmin service account.
For the service mesh installation and configuration instructions, refer to Installing and configuring the service mesh.
For the installation permissions, refer to Granting installation permissions.
If you cannot grant admin privileges to the Automation Suite installer, you must bring your own ArgoCD for the Automation Suite deployment. For details, refer to Provisioning ArgoCD.
Provisioning ArgoCD
If you cannot grant admin privileges to the Automation Suite installer, you must bring your own ArgoCD and take the following configuration steps:
- Provide the correct value for the
application_namespaceparameter in theargocdsection of yourinput.jsonfile. This is the namespace where applications are created, and ideally should be the namespace where ArgoCD is installed. - If you install Automation Suite on a shared cluster, we recommend creating a new ArgoCD project dedicated to Automation Suite rather than using the default project. For details on how to create a project in ArgoCD, refer to Creating a project in ArgoCD.
- Configure the Helm repository in ArgoCD. For details, refer to Configuring the Helm repository in ArgoCD.
- Grant the necessary permissions on the ArgoCD namespace. For details, refer to Granting the necessary permissions on the ArgoCD namespace.
Creating a project in ArgoCD
To create a new project in the ArgoCD UI, take the following steps:
- Log in to ArgoCD.
- Navigate to Settings > Projects > +NEW PROJECT.
- Provide a name and description for the project.
- Add the following destinations:
- Enter
<uipath>as the namespace andhttps://kubernetes.default.svcas the server. - Enter
<istio-system>as the namespace andhttps://kubernetes.default.svcas the server.
- Enter
- Add the
<argocd>namespace tosourceNamespaces.Note:In older ArgoCD releases,
sourceNamespacesis not visible in the UI.
You can also create an ArgoCD project declaratively:
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: <project-name>
namespace: <argocd-namespace>
spec:
description: App project to manage and deploy uipath applications
clusterResourceWhitelist:
- group: '*'
kind: '*'
destinations:
- namespace: <uipath>
server: https://kubernetes.default.svc
- namespace: <istio-system>
server: https://kubernetes.default.svc
sourceNamespaces:
- <argocd-namespace>
sourceRepos:
- '*'
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: <project-name>
namespace: <argocd-namespace>
spec:
description: App project to manage and deploy uipath applications
clusterResourceWhitelist:
- group: '*'
kind: '*'
destinations:
- namespace: <uipath>
server: https://kubernetes.default.svc
- namespace: <istio-system>
server: https://kubernetes.default.svc
sourceNamespaces:
- <argocd-namespace>
sourceRepos:
- '*'
Configuring the Helm repository in ArgoCD
To configure the Helm repository in ArgoCD, take the following steps:
- Log in to ArgoCD.
- Navigate to Settings > Repositories > +CONNECT REPO.
- Use VIA HTTPS for the connection method.
- Select Helm as the type.
- Provide a name.
- Choose uipath as the project. uipath is the name of the ArgoCD project you created for the UiPath® application.
- Provide the repository URL, username, password, and certificate info.
- Enable the OCI checkbox.
- Select Connect.
- Make sure that the connection status is Successful.
Granting the necessary permissions on the ArgoCD namespace
To grant the necessary permissions on the ArgoCD namespace, take the following steps:
-
Create a role to create and edit the secret in the
<argocd>namespace:apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <argocd> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["*"] - apiGroups: ["*"] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <argocd> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["*"] - apiGroups: ["*"] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"] -
Bind the
argo-secret-rolerole to theuipathadminservice account:kubectl -n <argocd> create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadminkubectl -n <argocd> create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin -
Create a role to manage the applications in the
<argocd>namespace:apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <argocd> rules: - apiGroups: - argoproj.io resources: - applications verbs: - "*"apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <argocd> rules: - apiGroups: - argoproj.io resources: - applications verbs: - "*" -
Bind the
uipath-application-managerrole to theuipathadminservice account:kubectl create rolebinding uipath-application-manager-rolebinding --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin -n <argocd>kubectl create rolebinding uipath-application-manager-rolebinding --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin -n <argocd> -
Bind the namespace reader role in the
<argocd>namespace to theuipathadminservice account:kubectl -n <argocd> create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadminkubectl -n <argocd> create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin