- 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: 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
- How to work with certificates
- How to uninstall Automation Suite

Automation Suite on EKS/AKS installation guide
How to uninstall Automation Suite
This section explains how to uninstall Automation Suite from EKS/AKS environments using the provided uninstall script.
You will learn how to prepare your system, execute the script, troubleshoot issues, and extend the functionality for custom requirements.
This section gives you a high-level understanding of the uninstall script and outlines the prerequisites required to use it effectively.
The uninstall script supports selective deletion of Automation Suite components, dry-run simulations, verbose output, and the ability to exclude specific components via command-line flags or a JSON configuration file.
To obtain the uninstall script and prepare it for execution, take the following steps:
- Download the
uninstall.sh
script. - Make the script executable by running the following command:
chmod +x uninstall.sh
chmod +x uninstall.sh
This section describes how to run the uninstall script, including command syntax, supported environments, and available flags.
You can run the script using the following command:
./uninstall.sh [DISTRIBUTION] [OPTIONS]
./uninstall.sh [DISTRIBUTION] [OPTIONS]
You can use the following distribution options, based on your environments:
k8s
: Use standard Kubernetes commands (default).openshift
: Use OpenShift commands and APIs.
The following table lists all the supported flags and arguments that you can use to customize the uninstall behavior for your specific environment.
Option | Description |
---|---|
-h , --help | Show help information. |
-d , --dry-run | Preview changes without deleting anything. |
-v , --verbose | Enable detailed logging. |
--excluded COMPONENTS | Comma-separated list of components to skip. |
--clusterconfig FILE | Path to a JSON config file for exclusions. |
--istioNamespace NAMESPACE | Override default Istio namespace. |
--uipathNamespace NAMESPACE | Override default UiPath namespace. |
--argocdNamespace NAMESPACE | Override default ArgoCD namespace. |
This section provides simple example commands to help you quickly start using the uninstall script with minimal options.
# Exclude istio from deletion in k8s
./uninstall.sh k8s --excluded istio
# Exclude istio and argocd in OpenShift
./uninstall.sh openshift --excluded istio,argocd
# Exclude istio from deletion in k8s
./uninstall.sh k8s --excluded istio
# Exclude istio and argocd in OpenShift
./uninstall.sh openshift --excluded istio,argocd
This section presents advanced examples that combine multiple options for more flexible and powerful uninstall scenarios.
# Dry run to preview changes
./uninstall.sh openshift --dry-run
# Use a JSON config file
./uninstall.sh k8s --clusterconfig input.json
# Custom namespaces
./uninstall.sh openshift --uipathNamespace uipath-prod --istioNamespace custom-istio
# Combined options with verbosity
./uninstall.sh k8s --excluded gatekeeper,falco --clusterconfig input.json --verbose
# Dry run to preview changes
./uninstall.sh openshift --dry-run
# Use a JSON config file
./uninstall.sh k8s --clusterconfig input.json
# Custom namespaces
./uninstall.sh openshift --uipathNamespace uipath-prod --istioNamespace custom-istio
# Combined options with verbosity
./uninstall.sh k8s --excluded gatekeeper,falco --clusterconfig input.json --verbose
This section outlines which components the script manages, how to exclude them, and what dependencies to consider.
This section lists the Automation Suite components that the uninstall script is capable of managing and deleting:
istio
- Service mesh componentsistio_configure
- Istio configurationargocd
- ArgoCD deploymentuipath
- Core UiPath componentscert_manager
- Certificate managementnetwork_policies
- Network policiesgatekeeper
- Gatekeeper enforcementfalco
- Gatekeeper enforcement
This section shows how to configure component exclusions using a JSON file.
You can exclude components via JSON, as follows:
{
"exclude_components": [
"istio",
"argocd",
"gatekeeper"
]
}
{
"exclude_components": [
"istio",
"argocd",
"gatekeeper"
]
}
This section explains the relationships between components to help you avoid issues when excluding specific items.
Some components have dependencies on others:
- If you keep
uipath
, consider also keepingistio
andargocd
. - If you keep
cert_manager
, consider also keepinguipath
.
This section highlights the most frequently encountered issues during uninstallation and how to address them effectively.
- Permission errors:
kubectl auth can-i delete namespace --all-namespaces oc auth can-i delete project --all-namespaces
kubectl auth can-i delete namespace --all-namespaces oc auth can-i delete project --all-namespaces - Helm not found:
helm version
helm version - Components not deleted:
./uninstall.sh k8s --verbose
./uninstall.sh k8s --verbose
This section lists best practices to ensure safe execution of the script, as follws:
- Always use
--dry-run
to preview changes. - Back up cluster configuration files.
- Verify component dependencies before deletion.
This section describes how to extend the script to manage new components or resource types.
This section outlines how to extend the script by introducing new components to the management scope.
To add new components, take te following steps:
- Add your component in the
define_components
function, as shown in the following example:function define_components { # Existing components... # Add your new component my_new_component=" helm:my-helm-chart:my-namespace role:my-role:my-namespace rolebinding:my-rolebinding:my-namespace namespace:my-namespace argocd:my-application crd:my.custom.resource " }
function define_components { # Existing components... # Add your new component my_new_component=" helm:my-helm-chart:my-namespace role:my-role:my-namespace rolebinding:my-rolebinding:my-namespace namespace:my-namespace argocd:my-application crd:my.custom.resource " } - Append the component name in the
get_all_components
function, as shown in the following example:function get_all_components { local components="istio argocd uipath cert_manager network_policies gatekeeper falco istio_configure my_new_component" # Rest of the function... }
function get_all_components { local components="istio argocd uipath cert_manager network_policies gatekeeper falco istio_configure my_new_component" # Rest of the function... }
- Understanding the script and requirements
- Prerequisites
- Downloading and preparing the script
- Running the script and using options
- Using basic examples
- Using advanced combinations
- Configuring components and exclusions
- Supported components
- Using configuration files
- Understanding component dependencies
- Troubleshooting issues and reviewing logs
- Security best practices
- Customizing the script
- Adding new components