- Overview
- Requirements
- Pre-installation
- Installation
- Post-installation
- Migration and upgrade
- Upgrading Automation Suite
- Migrating standalone products to Automation Suite
- Step 1: Restoring the standalone product database
- Step 2: Updating the schema of the restored product database
- Step 3: Moving the Identity organization data from standalone to Automation Suite
- Step 4: Backing up the platform database in Automation Suite
- Step 5: Merging organizations in Automation Suite
- Step 6: Updating the migrated product connection strings
- Step 7: Migrating standalone Orchestrator
- Step 8: Migrating standalone Insights
- Step 9: Migrating standalone Test Manager
- Step 10: Deleting the default tenant
- Performing a single tenant migration
- Migrating between Automation Suite clusters
- Migrating from Automation Suite on EKS/AKS to Automation Suite on OpenShift
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- 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
- Robot cannot connect to an Automation Suite Orchestrator instance
- Log streaming does not work in proxy setups
- Velero backup fails with FailedValidation error
- Accessing FQDN returns RBAC: access denied error

Automation Suite on EKS/AKS installation guide
Updating credentials
Guidelines
To update credentials for the different Automation Suite components, take the following steps:
- Generate the
input.jsonfile. - Provide the new credentials for the given components in the
input.jsonas described in each component section. - Run the
uipathctlCLI as described in each component section.
Generating the input.json file
Generate the latest input.json file as follows:
- A: Run the following command to get the latest revision of your
input.jsonfile:uipathctl manifest get-revisionuipathctl manifest get-revision - B: Run the following command to list all the past
input.jsonfiles and determine the one you wish to choose:uipathctl manifest list-revisionsuipathctl manifest list-revisions
Updating the SQL connection strings
There are multiple scenarios where you may want to update the connection string used by Automation Suite products to connect to the SQL database, such as the following:
- When periodically rotating the password used to connect to the database, for security and compliance
- When changing the FQDN for the SQL server
- When migrating the database to another SQL server for maintenance purposes
- When adding, modifying, or removing one or more connection attributes, such as
MultiSubnetFailover - When switching from basic authentication to integrated authentication using Kerberos and AD
Important:
Products in Automation Suite do not create tables or schema at the time of updating the SQL database connection string. Make sure your new connection string refers to the same database that you currently use. To avoid downtime during the update process, make sure that your current connection string is valid at the time of the update process. You can revoke your old connection string after the update.
Updating the connection strings for installed products
To update the connection string for installed products in Automation Suite, connect to any of the server nodes and perform the following operations.
- Generate the
input.jsonfile. - Provide the new connection strings for the installed products in the
input.json. - Run
uipathctl.
Providing the new connection strings for installed products
There are two ways to provide the connection strings for products running in Automation Suite:
- A: Provide a connection string template that will be common to all the products running in Automation Suite. This approach will assume the default database names for all the products.
- B: Provide connection strings specific to each product.
Make sure you escape NET, JDBC, or ODBC passwords as follows:
- for NET: add
'at the beginning and end of the password, and double any other'. - for JDBC/ODBC: add
{at the beginning of the password and}at the end, and double any other}. Do not double{.
If you set TrustServerCertificate=False, then you may have to provide an additional CA certificate for the SQL Server. This is required if the SQL Server certificate is self-signed or signed by an internal CA. For details, see Updating the CA certificates.
To encode or decode Base64 strings using PowerShell, you can use the following commands:
- decode Base64 string:
[System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String('<base64_string>')) - encode Base64 string:
[System.Convert]::ToBase64String([System.Text.Encoding]::Default.GetBytes('<plain_text>'))
A: Providing a common connection string for all products
All the products running in Automation Suite refer to a common template connection string. One use case for choosing this method would be when you want to change the password for all the products at once. Note that, in this case, the password will be the same for all the products.
In this scenarios, the database names for all products must be the default ones, as required by Automation Suite. If the database names you configured do not meet the Automation Suite requirements, follow the next step.
Check the list of databases and their default names in SQL database.
The following table explains which template format the product services accept:
| Parameter | Description | Products |
|---|---|---|
sql_connection_string_template | Full ADO.NET connection string where Catalog name is set to DB_NAME_PLACEHOLDER. The installer will replace this placeholder with the default database names for the installed suite services. | Platform, Orchestrator, Automation Suite Robots, Test Manager, Automation Hub, Automation Ops, Insights, Task Mining, Data Service, Process Mining |
sql_connection_string_template_jdbc | Full JDBC connection string where database name is set to DB_NAME_PLACEHOLDER. The installer will replace this placeholder with the default database names for the installed suite services. | AI Center |
sql_connection_string_template_odbc | Full ODBC connection string where database name is set to DB_NAME_PLACEHOLDER. The installer will replace this placeholder with the default database names for the installed suite services. | Document Understanding, Apps |
sql_connection_string_template_sqlalchemy_pyodbc | Full SQL alchemy PYODBC connection string where database name is set to DB_NAME_PLACEHOLDER. The installer will replace this placeholder with the default database names for the installed suite services. | Document Understanding, Process Mining |
postgresql_connection_string_template_sqlalchemy_pyodbc | Full SQL alchemy PSYCOPG2 connection string where database name is set to DB_NAME_PLACEHOLDER. The installer will replace this placeholder with the default database names for the installed suite services. | Process Mining (2024.10.3 or higher) |
sql_connection_string_template example
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
sql_connection_string_template_jdbc example
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
sql_connection_string_template_odbc example
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
sql_connection_string_template_sqlalchemy_pyodbc example
"mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:<password>@sfdev4515230-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
"mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:<password>@sfdev4515230-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
postgresql_connection_string_template_sqlalchemy_pyodbc example (Process Mining 2024.10.3 or higher)
"postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/DB_NAME_PLACEHOLDER"
"postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/DB_NAME_PLACEHOLDER"
Update the input.json with the new connection string template you want to update.
B: Providing connection strings specific to each product
Platform
The Platform service provides administrative capabilities such as organization and tenant management, licensing management, user management, etc. The Platform service is enabled by default and cannot be removed. Its default database name is AutomationSuite_Platform.
To provide a connection string for the Platform service, add or update the following section in the input.json file:
"platform": {
"sql_connection_str": "***" // dotnet connection string
}
"platform": {
"sql_connection_str": "***" // dotnet connection string
}
Orchestrator
The default database name for Orchestrator is AutomationSuite_Orchestrator.
To provide a connection string for the Orchestrator service, add or update the following section in the input.json file:
"orchestrator": {
"sql_connection_str": "***" // dotnet connection string
}
"orchestrator": {
"sql_connection_str": "***" // dotnet connection string
}
Automation Suite Robots
Automation Suite Robots and Orchestrator share the same database by default. The database name is AutomationSuite_Orchestrator.
To provide a connection string for Automation Suite Robots, add or update the following section in the input.json file:
"asrobots": {
"sql_connection_str": "***" // dotnet connection string
}
"asrobots": {
"sql_connection_str": "***" // dotnet connection string
}
Automation Hub
The default database name for Automation Hub is AutomationSuite_Automation_Hub.
To provide a connection string for the Automation Suite service, add or update the following section in the input.json file:
"automation_hub": {
"sql_connection_str": "***" // dotnet connection string
}
"automation_hub": {
"sql_connection_str": "***" // dotnet connection string
}
Automation Ops
The default database name for Automation Ops is AutomationSuite_Platform.
To provide a connection string for the Automation Ops service, add or update the following section in the input.json file:
"automation_ops": {
"sql_connection_str": "***" // dotnet connection string
}
"automation_ops": {
"sql_connection_str": "***" // dotnet connection string
}
AI Center
The default database name for AI Center is AutomationSuite_AICenter.
To provide a connection string for the AI Center service, add or update the following section in the input.json file:
"aicenter": {
"sql_connection_str": "***" // jdbc connection string
}
"aicenter": {
"sql_connection_str": "***" // jdbc connection string
}
Apps
The default database name for Apps is AutomationSuite_Apps.
To provide a connection string for the Apps service, add or update the following section in the input.json file:
"apps": {
"sql_connection_str": "***" // odbc connection string
}
"apps": {
"sql_connection_str": "***" // odbc connection string
}
Data Service
The default database name for Data Service is AutomationSuite_DataService.
To provide a connection string for the Data Service service, add or update the following section in the input.json file:
"dataservice": {
"sql_connection_str": "***" // dotnet connection string
}
"dataservice": {
"sql_connection_str": "***" // dotnet connection string
}
Document Understanding
The default database name for Document Understanding is AutomationSuite_DU_Datamanager.
To provide a connection string for the Document Understanding service, add or update the following section in the input.json file:
"documentunderstanding": {
"enabled": true,
"sql_connection_str": "***" // dotnet connection string,
"datamanager": {
"sql_connection_str": "***" // odbc connection string
"pyodbc_sql_connection_str": "***" // python sql connection string
}
}
"documentunderstanding": {
"enabled": true,
"sql_connection_str": "***" // dotnet connection string,
"datamanager": {
"sql_connection_str": "***" // odbc connection string
"pyodbc_sql_connection_str": "***" // python sql connection string
}
}
Insights
The default database name for Insights is AutomationSuite_Insights.
To provide a connection string for the Insights service, add or update the following section in the input.json file:
"insights": {
"sql_connection_str": "***" // dotnet connection string
}
"insights": {
"sql_connection_str": "***" // dotnet connection string
}
Process Mining
The default database name for Process Mining is AutomationSuite_ProcessMining_Metadata.
To provide a connection string for the Process Mining service, add or update the following section in the input.json file:
For PostgreSQL:
"process_mining": {
"enabled": true,
"sql_connection_str": "***", // dotnet connection string
"airflow": {
"metadata_db_connection_str": ""
},
"warehouse": {
"sql_connection_str": "",
"master_sql_connection_str": "",
"sqlalchemy_pyodbc_sql_connection_str": ""
}
}
"process_mining": {
"enabled": true,
"sql_connection_str": "***", // dotnet connection string
"airflow": {
"metadata_db_connection_str": ""
},
"warehouse": {
"sql_connection_str": "",
"master_sql_connection_str": "",
"sqlalchemy_pyodbc_sql_connection_str": ""
}
}
For Microsoft SQL Server:
"process_mining": {
"enabled": true,
"sql_connection_str": "***" // dotnet connection string
"sqlalchemy_pyodbc_sql_connection_str": "",
"warehouse": {
"sql_connection_str": "",
"master_sql_connection_str": "",
"sqlalchemy_pyodbc_sql_connection_str": ""
}
}
"process_mining": {
"enabled": true,
"sql_connection_str": "***" // dotnet connection string
"sqlalchemy_pyodbc_sql_connection_str": "",
"warehouse": {
"sql_connection_str": "",
"master_sql_connection_str": "",
"sqlalchemy_pyodbc_sql_connection_str": ""
}
}
Task Mining
The default database name for Task Mining is AutomationSuite_Task_Mining.
To provide a connection string for the Task Mining service, add or update the following section in the input.json file:
"task_mining": {
"sql_connection_str": "***" // dotnet connection string
}
"task_mining": {
"sql_connection_str": "***" // dotnet connection string
}
Test Manager
The default database name for Test Manager is AutomationSuite_Test_Manager .
To provide a connection string for the Test Manager service, add or update the following section in the input.json file:
"test_manager": {
"sql_connection_str": "***" // dotnet connection string
}
"test_manager": {
"sql_connection_str": "***" // dotnet connection string
}
Running the uipathctl installer
To complete the update, run the uipathctl installer using the following command:
uipathctl manifest apply input.json --versions versions.json
uipathctl manifest apply input.json --versions versions.json
Updating Redis credentials
Providing the new credentials for Redis
Update the following section in the input.json file with the new password and/or hostname:
"fabric": {
"redis": {
"hostname": "new_hostname",
"password": "new_password",
"port": 6380,
"tls": true
}
"fabric": {
"redis": {
"hostname": "new_hostname",
"password": "new_password",
"port": 6380,
"tls": true
}
Running the uipathctl installer
To complete the update of the Redis credentials, run the uipathctl installer using the following command:
uipathctl manifest apply input.json --only redis --versions versions.json
uipathctl manifest apply input.json --only redis --versions versions.json
You can use the dry-run flag with uipathctl to print the result of the command without applying it.
Updating objectstore credentials
Update the following section in the input.json file with the new access_key, secret_key or acount_key and account_name:
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure,aws>
"fqdn": "", // <needed in case of aws non instance profile>
"port": 443, // <needed in case of aws non instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
},
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure,aws>
"fqdn": "", // <needed in case of aws non instance profile>
"port": 443, // <needed in case of aws non instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
},
Running the uipathctl installer
To complete the update of the object store credentials, run the uipathctl installer using the following command:
uipathctl manifest apply input.json --versions versions.json
uipathctl manifest apply input.json --versions versions.json
You can use the dry-run flag with uipathctl to print the result of the command without applying it.
Updating the registry credentials
When the container registry in use requires authentication to pull images, pods must use a secret named uipathpullsecret. To update uipathpullsecret, take the following steps:
- Update the registry section of the
input.jsonfile:"registries": { "docker": { "url": "yourContainerRegistryUrl", "username": "username", "password": "newpassword" }, "helm": { "url": "yourContainerRegistryUrl", "username": "username", "password": "newpassword" } }"registries": { "docker": { "url": "yourContainerRegistryUrl", "username": "username", "password": "newpassword" }, "helm": { "url": "yourContainerRegistryUrl", "username": "username", "password": "newpassword" } } - Delete the existing
uipathpullsecret:kubectl delete secret uipathpullsecret -n <uipath> kubectl delete secret uipathpullsecret -n <uipath-installer>kubectl delete secret uipathpullsecret -n <uipath> kubectl delete secret uipathpullsecret -n <uipath-installer> - Rerun the installation command:
uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json
- Guidelines
- Generating the input.json file
- Updating the SQL connection strings
- Updating the connection strings for installed products
- Updating Redis credentials
- Providing the new credentials for Redis
- Running the uipathctl installer
- Updating objectstore credentials
- Running the uipathctl installer
- Updating the registry credentials