> ## 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.

# Quickstart

> Get started with Chamber in under 10 minutes

This guide walks you through setting up Chamber for your organization, from requesting access to submitting your first workload.

## Prerequisites

* A Kubernetes cluster with GPU nodes
* `kubectl` access to your cluster
* `helm` v3 installed

<Tip>
  Don't have a GPU Kubernetes cluster yet? Use our [Terraform modules](/cluster-deployment/overview) to deploy a GPU-ready cluster on AWS or GCP in \~15 minutes.
</Tip>

## Step 1: Create Your Organization

<Steps>
  <Step title="Request access">
    Contact us at [support@usechamber.io](mailto:support@usechamber.io) to request access to Chamber.
  </Step>

  <Step title="Create organization">
    After signing in, you'll be prompted to create an organization. This is your top-level tenant in Chamber.
  </Step>

  <Step title="Invite team members">
    Navigate to **Settings > Members** to invite colleagues to your organization.
  </Step>
</Steps>

## Step 2: Connect Your Cluster

Install the Chamber agent in your Kubernetes cluster to sync workload state with the control plane.

```bash theme={null}
# Get your cluster token from the Chamber dashboard
# Navigate to Settings > Security > API Tokens -> New Token

# Install the agent
helm install chamber-agent oci://public.ecr.aws/chamber/chamber-agent-chart \
  --version 0.8.96 \
  --namespace chamber-system \
  --create-namespace \
  --set saas.url="wss://controlplane-api.usechamber.io/agent" \
  --set saas.token="<YOUR_TOKEN>" \
  --set saas.clusterId="your-gpu-cluster"
```

Verify the agent is running:

```bash theme={null}
kubectl get pods -n chamber-system -l app.kubernetes.io/name=chamber-agent
```

## Step 3: Create Your First Team

Teams represent teams or projects in your organization. They form a hierarchy for organizing capacity allocation.

<Steps>
  <Step title="Navigate to Teams">
    In the Chamber dashboard, click **Teams** in the sidebar.
  </Step>

  <Step title="Create root team">
    Click **Create Team** and enter:

    * **Name**: e.g., "ML Platform"
    * **Description**: Brief description of the team/project
  </Step>

  <Step title="Add projects (optional)">
    Create sub-teams for different teams or projects under your root team.
  </Step>
</Steps>

## Step 4: Allocate Capacity

Reserve GPU capacity for your team from your connected cluster.

<Steps>
  <Step title="View capacity pools">
    Navigate to **Capacity Pools** to see your connected clusters.
  </Step>

  <Step title="Create reservation">
    Click on a pool, then **Create Reservation**:

    * Select the team to receive capacity
    * Specify the number of GPUs to reserve
  </Step>
</Steps>

<Tip>
  Start with a small reservation and adjust based on utilization metrics. You can always increase or redistribute capacity later.
</Tip>

## Step 5: Submit a Workload

With capacity reserved, your team can now submit GPU workloads.

```yaml Example Workload theme={null}
apiVersion: batch/v1
kind: Job
metadata:
  name: training-workload
  labels:
    chamber.io/team: ml-platform       # Links workload to team
    chamber.io/workload-class: reserved # Use reserved capacity
spec:
  template:
    spec:
      containers:
      - name: trainer
        image: your-training-image:latest
        resources:
          limits:
            nvidia.com/gpu: 4
      restartPolicy: Never
```

<Info>
  Workloads without the `chamber.io/workload-class` label default to **elastic** and will use idle capacity.
</Info>

## Next Steps

<CardGroup cols={2}>
  <Card title="Understand Teams" icon="sitemap" href="/concepts/teams">
    Learn how to structure your organization hierarchy
  </Card>

  <Card title="Workload Classes" icon="layer-group" href="/concepts/workload-classes">
    Understand reserved vs elastic workloads
  </Card>

  <Card title="Dashboard Guide" icon="chart-pie" href="/platform/dashboard">
    Monitor utilization and workload status
  </Card>
</CardGroup>
