> ## 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
* glibc 2.28 or later (check with `ldd --version`)
* libffi (usually pre-installed on most systems)

<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`

## Installation

Follow these steps to install SambaRack Manager.

### Step 1. Activate service account credentials

Run the following command using the service account credentials json file recieved from Sambanova

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

Post successful run you should see the following

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

### Step 2. Check available versions

List the available versions in the GCS bucket:

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

### Step 3. Download desired version

Download the binary for your desired version:

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

### Step 4. Make it executable

```bash theme={null}
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={null}
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={null}
mkdir -p ~/.local/bin
cp snctl ~/.local/bin/snctl
```

### Step 6. Verify the installation

Confirm that SambaRack Manager is installed correctly:

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

## Next step

After completing the installation, continue with [Initial Setup](/en/v1.2.0/sambastack/hardware-admin/sambarack-manager/srm-initial-setup).

## Upgrade SambaRack manager

Follow these steps to upgrade an existing SambaRack Manager installation to a newer version.

### Step 1. Check available versions

List the available versions in the GCS bucket:

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

### Step 2. Download the new version

Download the binary for your desired version:

```bash theme={null}
# Replace NEW_VERSION with the desired version number (e.g., 0.0.4)
gsutil cp gs://<SAMBASTACK_ARTIFACTS_BUCKET>/sambarack-cli/releases/NEW_VERSION/snctl-linux-amd64 snctl-new
```

### Step 3. Make it executable

```bash theme={null}
chmod +x snctl-new
```

### Step 4. Replace the existing SambaRack Manager binary

Replace the binary in the same location where you originally installed it:

**Option 1 - System-wide installation:** Replace the binary in `/usr/local/bin/`.

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

**Option 2 - User-only installation:** Replace the binary in `~/.local/bin/`.

```bash theme={null}
cp snctl-new ~/.local/bin/snctl
```

### Step 5. Verify the new version

Confirm that the upgrade was successful:

```bash theme={null}
snctl --version
```
