# Getting Started

## Prerequisites

* **SeaLights Account**: Active SeaLights account with access credentials
* **Authentication Token**: Valid SeaLights Agent token
* **Supported Go Version**: The SeaLights Go Agent maintains support in line with what [Golang itself supports](https://versionlog.com/golang/), which is generally "from 2 versions ago" (At the time of this writing, Go 1.22+)
* **Go Agent Binary**: Downloaded `slgoagent` binary placed in your project directory
* **Network Access**: Ability to connect to SeaLights servers (check firewall/proxy settings if needed)

## **Downloading the Go Agent**

The latest SeaLights Go Agent file can be downloaded from:

* `https://${DOMAIN}/slgoagent/latest/slgoagent-${OS_ARCH}.tar.gz`

where OS\_ARCH is one of: `darwin-amd64, darwin-arm64, linux-amd64, linux-arm64`, and DOMAIN can be our generic endpoint (`agents.sealights.co`) or your specific account domain endpoint (`<your_custom_domain>.sealights.co/agents`).

For your convenience, this table contains all of the direct links for downloading the latest version of the SeaLights Go Agent:

<table><thead><tr><th width="114.5">OS</th><th width="113">Architecture</th><th>V2 Download Link</th><th data-hidden>@latest Download Link</th></tr></thead><tbody><tr><td>Linux</td><td><code>x86-64</code></td><td>https://agents.sealights.co/slgoagent/latest/slgoagent-linux-amd64.tar.gz</td><td>https://agents.sealights.co/slgoagent/latest/slgoagent-linux-amd64.tar.gz</td></tr><tr><td>Linux</td><td><code>ARM64</code></td><td>https://agents.sealights.co/slgoagent/latest/slgoagent-linux-arm64.tar.gz</td><td>https://agents.sealights.co/slgoagent/latest/slgoagent-linux-arm64.tar.gz</td></tr><tr><td>MacOS</td><td><code>x86-64</code></td><td>https://agents.sealights.co/slgoagent/latest/slgoagent-darwin-amd64.tar.gz</td><td>https://agents.sealights.co/slgoagent/latest/slgoagent-darwin-amd64.tar.gz</td></tr><tr><td>MacOS</td><td><code>ARM64</code></td><td>https://agents.sealights.co/slgoagent/latest/slgoagent-darwin-arm64.tar.gz</td><td>https://agents.sealights.co/slgoagent/latest/slgoagent-darwin-arm64.tar.gz</td></tr></tbody></table>

### Sample Scripts for Downloading the Go Agent

#### Downloading and extracting the latest version:

{% code overflow="wrap" lineNumbers="true" %}

```sh
SL_OS_ARCH=linux-amd64
# Download and extract Sealights Go agent
echo "[Sealights] Downloading Sealights Golang Agent..."
wget -nv -O slgoagent.tar.gz \
    https://agents.sealights.co/slgoagent/latest/slgoagent-${SL_OS_ARCH}.tar.gz \
    && tar -xvf slgoagent.tar.gz \
    && rm slgoagent.tar.gz
./slgoagent -v 2> /dev/null | grep version
```

{% endcode %}

#### Downloading a specific version <a href="#downloading-a-specific-version" id="downloading-a-specific-version"></a>

Replace “latest” with the desired version when downloading a specific version. Please note the format of the specific version URL that includes the `v` prefix.&#x20;

**Example script 1 — Downloading a specific version for Linux x86-64:**

{% code overflow="wrap" lineNumbers="true" %}

```bash
# One of: darwin-amd64, darwin-arm64, linux-amd64, linux-arm64
SL_OS_ARCH=linux-amd64
# Specific Version to download
SL_GO_AGENT_VERSION=v2.0.213

echo "[Sealights] Downloading Sealights Golang Agent..."
wget -nv -O slgoagent.tar.gz https://agents.sealights.co/slgoagent/${SL_GO_AGENT_VERSION}/slgoagent-${SL_OS_ARCH}.tar.gz
# Unpack the agent and clean up the tar
tar -xvf slgoagent.tar.gz
rm slgoagent.tar.gz
# Print the version
./slgoagent -v 2> /dev/null | grep version
```

{% endcode %}

**Example script 2 — Downloading a specific version MacOS (Silicon)**

{% code overflow="wrap" lineNumbers="true" %}

```bash
# For Mac with Apple Silicon (M1/M2/M3... chips)
export SL_OS_ARCH=darwin-arm64
export SL_GO_AGENT_VERSION=v2.0.208

echo "[Sealights] Downloading Sealights Golang Agent..."

# Use curl instead of wget
curl -L -o slgoagent.tar.gz "https://agents.sealights.co/slgoagent/${SL_GO_AGENT_VERSION}/slgoagent-${SL_OS_ARCH}.tar.gz"

# Unpack the agent and clean up the tarball
tar -xvf slgoagent.tar.gz
rm slgoagent.tar.gz

# Print the agent version
./slgoagent -v 2> /dev/null | grep version
```

{% endcode %}
