# Running uipathctl

> Install and run uipathctl CLI tool for managing Automation Suite on OpenShift.

`uipathctl` is a UiPath® command-line tool that allows you to perform various operations in [Automation Suite on EKS/AKS](https://docs.uipath.com/automation-suite/automation-suite/2.2510/installation-guide-eks-aks/automation-suite-overview), [Automation Suite on OpenShift](https://docs.uipath.com/automation-suite/automation-suite/2.2510/installation-guide-openshift/automation-suite-overview), and [Automation Suite on Linux](https://docs.uipath.com/automation-suite/automation-suite/2.2510/installation-guide/automation-suite-overview).

You can use uipathctl to check prerequisites in your environment, install Automation Suite, as well as configure and manage it from a single unified CLI.

You can install `uipathctl` on the Linux, macOS, and Windows platforms.

Currently, uipathctl is only compatible with the x86 architecture. You cannot run uipathctl on machines based on the ARM architecture, such as Macs with Apple Silicon (M series) CPUs.

For details, including a complete list of `uipathctl` operations, refer to the [uipathctl Reference Guide](https://docs.uipath.com/automation-suite/automation-suite/2.2510/reference-guide/uipathctl-reference).

## Common operations

After you install `uipathctl`, the primary commands for an Automation Suite installation are:

* `uipathctl prereq create input.json --versions versions.json` - generate the required SQL databases and object storage buckets. Refer to [Setting up the required resources](./setting-up-the-required-resources.md).
* `uipathctl prereq run input.json --versions versions.json` - validate the environment before installing. Refer to [Prerequisite checks](./prerequisite-checks.md#running-the-prerequisite-checks).
* `uipathctl manifest apply input.json --versions versions.json` - install Automation Suite. Refer to [Installing Automation Suite](./installing-automation-suite.md).

For the full command list, refer to the [uipathctl Reference Guide](https://docs.uipath.com/automation-suite/automation-suite/2.2510/reference-guide/uipathctl-reference).

## Installing uipathctl on Linux

To install `uipathctl` on Linux, take the following steps:

1. Download the version of the `uipathctl` binary that you are interested in. For instructions, refer to [Downloading the installation packages](https://docs.uipath.com/automation-suite/automation-suite/2.2510/installation-guide-openshift/downloading-the-installation-packages#downloading-the-installation-packages).
2. Uncompress `uipathctl` and add it to your PATH:
   ```
   tar xzvf uipathctl-linux-amd64.tar.gz
   chmod +x uipathctl
   export PATH=$PATH:$(pwd)
   ```
3. Verify if `uipathctl` works:
   ```
   uipathctl version
   ```

   The command prints some version information, as shown in the following example:

   ```
   Version:       2.2510.0
   ...
   ```

## Installing uipathctl on Windows

To install `uipathctl` on Windows, take the following steps:

1. Download the version of the `uipathctl` binary that you are interested in. For instructions, refer to [Downloading the installation packages](https://docs.uipath.com/automation-suite/automation-suite/2.2510/installation-guide-openshift/downloading-the-installation-packages#downloading-the-installation-packages).
2. Uncompress `uipathctl` and add it to your PATH:
   ```
   tar xzvf uipathctl-windows-amd64.tar.gz
   ```

   Append or prepend the `uipathctl` binary folder to your `PATH` environment variable.
3. Verify it is working:
   ```
   uipathctl version
   ```

   The command prints some version information, as shown in the following example:

   ```
   Version:       2.2510.0
   ...
   ```

## Installing uipathctl on macOS

To install `uipathctl` on macOS, take the following steps:

1. Download the version of the `uipathctl` binary that you are interested in. For instructions, refer to [Downloading the installation packages](https://docs.uipath.com/automation-suite/automation-suite/2.2510/installation-guide-openshift/downloading-the-installation-packages#downloading-the-installation-packages).
2. Uncompress `uipathctl` and add it to your PATH:
   ```
   tar xzvf uipathctl-darwin-amd64.tar.gz
   chmod +x uipathctl
   export PATH=$PATH:$(pwd)
   ```
3. Verify if `uipathctl` works:
   ```
   uipathctl version
   ```

   The command prints some version information, as shown in the following example:

   ```
   Version:       2.2510.0
   ...
   ```

## Specifying the kubeconfig file

By default, `uipathctl` uses the kubeconfig file at the default location (`~/.kube/config` on Linux and macOS, or the equivalent user profile path on Windows). This kubeconfig determines which cluster and which credentials `uipathctl` uses to run each command.

If you need `uipathctl` to use a different kubeconfig file, make sure it is configured accordingly for every command you run. Otherwise, `uipathctl` falls back to the default kubeconfig.

You can specify the kubeconfig file in either of the following ways:

* Set the `KUBECONFIG` environment variable to the path of your kubeconfig file. All subsequent `uipathctl` commands use this file:
  ```bash
  export KUBECONFIG=<kubeconfigpath>
  ```
* Pass the `--kubeconfig` flag to each `uipathctl` command:
  ```bash
  uipathctl <command> --kubeconfig <kubeconfigpath>
  ```

To see all the flags available for a given command, including `--kubeconfig`, run:

```bash
uipathctl <command> --help
```

## Telemetry

By default, telemetry is sent from `uipathctl` to UiPath® at each command execution. This helps us improve our products and user experience.

To opt out of telemetry, set the `UIPATHCTL_TELEMETRY_OPTOUT` environment variable to `1`:

```
export UIPATHCTL_TELEMETRY_OPTOUT=1
```
