> ## Documentation Index
> Fetch the complete documentation index at: https://siderolabs-fe86397c-1-11-reference.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Install and Configure Omnictl

`omnictl` is the command-line tool for Omni that allows you to authenticate, manage, and interact with Talos-based Kubernetes clusters through its centralized API.

Follow the instructions below to install and configure `omnictl` for your operating system.

## Linux and macOS (Recommended)

Install `omnictl` and the `kubectl oidc-login` plugin automatically with [Homebrew](https://brew.sh/):

```
brew install siderolabs/tap/sidero-tools
```

This will install and update `talosctl`, `omnictl`, and `kube-oidc_login`.

## Manual installation

Download `omnictl` from the Omni dashboard.

The downloaded binary will be named according to the selected platform and architecture (e.g. `omnictl-linux-amd64`).

Rename this binary to `omnictl`, make it executable, and move it into your PATH.

For example, to do so on a mac:

```bash
mv omnictl-darwin-arm64 omnictl
chmod +x omnictl
mv omnictl /usr/local/bin
```

## 2. Configuration File

Download `omniconfig` from the Omni dashboard.

Omnictl follows the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/latest/) for its configuration files location.

Omni configuration is stored under `$XDG_CONFIG_HOME/omni/config`. This means, the correct configuration file locations for `omniconfig` are the following:

<table><thead><tr><th width="119.21484375">OS</th><th>Omniconfig Path</th></tr></thead><tbody><tr><td>Linux</td><td><code>\~/.config/omni/config</code></td></tr><tr><td>MacOS</td><td><code>\~/Library/Application Support/omni/config</code></td></tr><tr><td>Windows</td><td><code>%LOCALAPPDATA%\omni\config</code>, e.g., <code>C:\Users\<USER>\AppData\Local\omni\config</code></td></tr></tbody></table>

Add the downloaded `omniconfig.yaml` to the default location for your OS to use it with `omnictl`:

```bash
cp omniconfig.yaml <LOCATION_FOR_YOUR_OS_ABOVE>
```

If you would like to merge the `omniconfig.yaml` with an existing configuration, use the following command:

```bash
omnictl config merge ./omniconfig.yaml
```

List the contexts to verify that the `omniconfig` was added:

```bash
$ omnictl config contexts
CURRENT   NAME         URL
          ...
          example      https://example.omni.siderolabs.io/
          ...
```

Run `omnictl` for the first time to perform initial authentication using a web browser:

```bash
omnictl get clusters
```

If the browser window does not open automatically, it can be opened manually by copying and pasting the URL into a web browser:

```bash
BROWSER=echo omnictl get clusters
```
