> ## Documentation Index
> Fetch the complete documentation index at: https://sambanova-systems.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Install and upgrade

This guide covers both initial installation and upgrading of SambaRack Manager software.

SambaRack Manager requires installation, setup, population with installed systems, and device credentials configuration prior to use. The complete setup process is:

1. **Install SambaRack Manager software** (this page)
2. Initial setup and verification
3. Add SambaRack to the SambaRack Manager inventory
4. Configure device credentials in SambaRack Manager

## Prerequisites

Before installing SambaRack Manager, ensure your system meets the following requirements.

### Operating system and libraries

* Linux host running Red Hat Enterprise Linux 8 or later

<Note>
  Other Linux distributions with glibc 2.28+ may work but are not officially supported.
</Note>

### Network access

The installation host requires the following network connectivity:

* **Management network**: To communicate with device management interfaces (BMCs, XRDU management ports).
* **Front-end network**: To communicate with SambaRack host modules and Control Plane nodes.
* **Public internet**: For downloading releases from Google Cloud Storage (GCS).

### GCS access

SambaRack Manager binaries are distributed through Google Cloud Storage. You need:

* Access to the Google Cloud Storage bucket: `gs://<SAMBASTACK_ARTIFACTS_BUCKET>`
* `gsutil` CLI tool installed and configured with appropriate credentials, or use `gcloud` CLI with `gcloud auth login`

### System tools

`snctl` shells out to standard system tools for device communication. Key dependencies include `ipmitool`, `gbtipmitool-linux`, `ssh`, `sshpass`, `curl`, `in.tftpd`, `jq`, and `screen`.

## Installation / Upgrade

Follow these steps to install SambaRack Manager.

### Step 1. Activate service account credentials

Run the following command using the service account credentials JSON file received from SambaNova:

```bash theme={}
gcloud auth activate-service-account --key-file=<Service-Account-Credentials-Path>
```

Post successful run you should see:

```text theme={}
Activated service account credentials for: [...]
```

### Step 2. Check available versions

List the available versions in the GCS bucket:

```bash theme={}
gsutil ls gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/

#Expected output
gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/0.0.1/
gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/0.0.2/
gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/0.0.3/
gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/0.0.4/
gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/0.0.5/
gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/latest/
```

### Step 3. Download desired version

Download the binary for your desired version:

<Info>
  Its recommended to always install the "latest" version. To upgrade to a different version, replace “VERSION” with the desired version number.
</Info>

```bash theme={}
# Replace VERSION with the actual version number (e.g., 0.0.5)
gsutil cp gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/VERSION/snctl .

# Example: if the latest version is 0.0.5
gsutil cp gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/0.0.5/snctl .
```

### Step 4. Make it executable

```bash theme={}
chmod +x snctl
```

### Step 5. Copy binary to a location in your PATH

Choose one of the following options:

**Option 1 – Accessible for all users:** Copy the binary to `/usr/local/bin/`. This makes `snctl` available globally in your `$PATH`.

```bash theme={}
sudo cp snctl /usr/local/bin/snctl
```

**Option 2 – Accessible only to the current user:** Copy the binary to `~/.local/bin/`. You may need to add `~/.local/bin` to your PATH environment variable in `~/.bashrc` or `~/.zshrc`.

```bash theme={}
mkdir -p ~/.local/bin
cp snctl ~/.local/bin/snctl
```

### Step 6. Verify the installation

Confirm that SambaRack Manager is installed correctly:

```bash theme={}
snctl version
snctl help
```

Expected output of `snctl version`:

```text theme={}
version:      0.0.5
commit:       2c82328
build_time:   2026-07-14T08:05:35Z
go_version:   go1.25.11
os_arch:      linux/amd64
```

## Next step

After completing the installation, continue with [Initial setup](srm-initial-setup).
