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

# Configuration

> Environment variables, workload labels, upgrading, and uninstalling the Standalone Agent

<Warning>
  The Standalone Agent is in **beta**. Configuration options may change.
</Warning>

The agent is configured via environment variables in `/etc/chamber/agent.env`. After making changes, restart the agent:

```bash theme={null}
sudo vi /etc/chamber/agent.env
sudo systemctl restart chamber-agent-standalone
```

## Required Settings

| Variable                | Description                                                                                          |
| ----------------------- | ---------------------------------------------------------------------------------------------------- |
| `CHAMBER_CLUSTER_TOKEN` | API token for authenticating with the Chamber control plane. Generated in **Settings > API Tokens**. |

The `CHAMBER_SAAS_URL` is set automatically by the installer and should not need to be changed.

## Common Settings

| Variable             | Default                         | Description                                                                                                                            |
| -------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `CHAMBER_CLUSTER_ID` | hostname                        | Identifier for this host in the Chamber dashboard. Set this to a human-readable name if the hostname is opaque (e.g., `ip-10-0-1-42`). |
| `CHAMBER_HOSTNAME`   | hostname                        | Override the reported hostname.                                                                                                        |
| `CHAMBER_DCGM_URL`   | `http://localhost:9400/metrics` | DCGM Exporter endpoint. Change if running DCGM Exporter on a non-default port.                                                         |

## Metrics Settings

| Variable                              | Default  | Description                                         |
| ------------------------------------- | -------- | --------------------------------------------------- |
| `CHAMBER_METRICS_ENABLED`             | `true`   | Enable or disable all metric collection.            |
| `CHAMBER_METRICS_COLLECTION_INTERVAL` | `30`     | Seconds between metric collection cycles.           |
| `CHAMBER_METRICS_BATCH_INTERVAL`      | `60`     | Seconds between batch uploads to Chamber.           |
| `CHAMBER_METRICS_BUFFER_SIZE`         | `100000` | Maximum metrics buffered before oldest are dropped. |

## GPU Usage Settings

| Variable                            | Default | Description                                                                                                                                      |
| ----------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `CHAMBER_GPU_USAGE_ENABLED`         | `true`  | Enable or disable the composite GPU Usage metric.                                                                                                |
| `CHAMBER_GPU_USAGE_POWER_THRESHOLD` | `0.1`   | Power ratio (0.0–1.0) below which GPU is considered idle. At the default, GPUs drawing less than 10% of their power limit report GPU Usage as 0. |

## Discovery Settings

| Variable                                | Default | Description                                                                                                            |
| --------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------- |
| `CHAMBER_DISCOVERY_ENABLED`             | `true`  | Enable or disable automatic GPU workload discovery.                                                                    |
| `CHAMBER_DISCOVERY_SCAN_INTERVAL`       | `15`    | Seconds between GPU process scans.                                                                                     |
| `CHAMBER_DISCOVERY_STABILIZATION_DELAY` | `5`     | Seconds to wait before classifying a newly detected process. Prevents transient processes from appearing as workloads. |
| `CHAMBER_DISCOVERY_EVENT_BUFFER_SIZE`   | `500`   | Maximum discovery events buffered.                                                                                     |

## OTLP Settings

| Variable                          | Default   | Description                               |
| --------------------------------- | --------- | ----------------------------------------- |
| `CHAMBER_OTLP_GRPC_ENABLED`       | `true`    | Enable or disable the OTLP gRPC receiver. |
| `CHAMBER_OTLP_GRPC_PORT`          | `4317`    | gRPC server port.                         |
| `CHAMBER_OTLP_GRPC_HOST`          | `0.0.0.0` | gRPC server bind address.                 |
| `CHAMBER_OTLP_METRICS_QUEUE_SIZE` | `10000`   | Maximum queued metric batches.            |

## Connection Settings

| Variable                        | Default | Description                                                                                                |
| ------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| `CHAMBER_HEARTBEAT_INTERVAL`    | `30`    | Seconds between WebSocket heartbeats.                                                                      |
| `CHAMBER_METADATA_INTERVAL`     | `60`    | Seconds between host metadata reports.                                                                     |
| `CHAMBER_RECONNECT_BACKOFF`     | `5`     | Initial reconnection delay (seconds) after a dropped WebSocket connection.                                 |
| `CHAMBER_MAX_RECONNECT_BACKOFF` | `30`    | Maximum reconnection delay (seconds). The agent uses exponential backoff with jitter between these bounds. |

## Workload Labels

Add environment variables to your training jobs to enrich workload metadata in the dashboard:

```bash theme={null}
CHAMBER_JOB_NAME="llama2-finetune-v3" \
CHAMBER_TEAM_NAME="ml-platform" \
  torchrun --nproc_per_node=4 train.py
```

| Variable            | Description                                                                                |
| ------------------- | ------------------------------------------------------------------------------------------ |
| `CHAMBER_JOB_NAME`  | Override the auto-detected workload name. Useful when the process command line is generic. |
| `CHAMBER_TEAM_NAME` | Set a team label for workload attribution. Groups workloads by team in the dashboard.      |

<Tip>
  These environment variables are read from the process environment at discovery time. They are not part of `/etc/chamber/agent.env` — set them on your training process directly.
</Tip>

## Upgrading

Re-run the installer to upgrade to the latest version. Your configuration in `/etc/chamber/agent.env` is preserved:

```bash theme={null}
curl -fsSL https://chamber-agent-releases.s3.amazonaws.com/install.sh | sudo bash
```

To pin to a specific version (e.g., for reproducibility):

```bash theme={null}
curl -fsSL https://chamber-agent-releases.s3.amazonaws.com/install.sh \
  | sudo bash -s -- --version <VERSION>
```

## Uninstalling

```bash theme={null}
sudo systemctl stop chamber-agent-standalone
sudo systemctl disable chamber-agent-standalone
sudo rm /etc/systemd/system/chamber-agent-standalone.service
sudo systemctl daemon-reload
sudo rm -rf /opt/chamber-standalone
sudo rm -rf /etc/chamber
sudo userdel chamber-agent
```

This removes the agent, its configuration, and the system user. It does not remove Docker, Python, or DCGM Exporter.

## Next Steps

<CardGroup cols={2}>
  <Card title="Troubleshooting" icon="wrench" href="/agent/standalone/troubleshooting">
    Common issues and solutions
  </Card>

  <Card title="Metrics Reference" icon="chart-line" href="/agent/standalone/metrics">
    Full list of metrics collected
  </Card>
</CardGroup>
