automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white

Automation Suite on EKS/AKS installation guide

Last updated Jul 9, 2025

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.

Understanding the script and 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.

Prerequisites

This subsection lists the tools you must have installed in your environment to successfully run the uninstall script:
  • EKS/AKS:
    • kubectl
    • helm
  • Optional:
    • jq - used for JSON parsing

Downloading and preparing the script

To obtain the uninstall script and prepare it for execution, take the following steps:

  1. Download the uninstall.sh script.
  2. Make the script executable by running the following command:
    chmod +x uninstall.shchmod +x uninstall.sh

Running the script and using options

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.

OptionDescription
-h, --helpShow help information.
-d, --dry-runPreview changes without deleting anything.
-v, --verboseEnable detailed logging.
--excluded COMPONENTSComma-separated list of components to skip.
--clusterconfig FILEPath to a JSON config file for exclusions.
--istioNamespace NAMESPACEOverride default Istio namespace.
--uipathNamespace NAMESPACEOverride default UiPath namespace.
--argocdNamespace NAMESPACEOverride default ArgoCD namespace.

Using basic examples

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

Using advanced combinations

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

Configuring components and exclusions

This section outlines which components the script manages, how to exclude them, and what dependencies to consider.

Supported components

This section lists the Automation Suite components that the uninstall script is capable of managing and deleting:

  • istio - Service mesh components
  • istio_configure - Istio configuration
  • argocd - ArgoCD deployment
  • uipath - Core UiPath components
  • cert_manager - Certificate management
  • network_policies - Network policies
  • gatekeeper - Gatekeeper enforcement
  • falco - Gatekeeper enforcement

Using configuration files

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"
  ]
}

Understanding component dependencies

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 keeping istio and argocd.
  • If you keep cert_manager, consider also keeping uipath.

Troubleshooting issues and reviewing logs

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-namespaceskubectl auth can-i delete namespace --all-namespaces
    oc auth can-i delete project --all-namespaces
  • Helm not found:
    helm versionhelm version
  • Components not deleted:
    ./uninstall.sh k8s --verbose./uninstall.sh k8s --verbose

Security best practices

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.

Customizing the script

This section describes how to extend the script to manage new components or resource types.

Adding new components

This section outlines how to extend the script by introducing new components to the management scope.

To add new components, take te following steps:

  1. 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
        "
    }
  2. 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...
    }

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2025 UiPath. All rights reserved.