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

# Kubernetes

> Deploy Garnet as a DaemonSet across your cluster.

<Note>Archived — Kubernetes/DaemonSet deployment is Phase-2 runtime-platform content, not part of the current PR-review launch. Kept for reference.</Note>

Privileged DaemonSet — Jibril loads eBPF on each node. **Linux kernel 5.10+** required. See [Jibril requirements](https://jibril.garnet.ai/install/requirements.html).

<Steps>
  <Step title="Add Helm repo" icon="download">
    ```bash theme={null}
    helm repo add garnet https://helm.garnet.ai
    helm repo update
    ```
  </Step>

  <Step title="Install" icon="rocket">
    ```bash theme={null}
    helm install garnet garnet/garnet \
      --namespace garnet \
      --create-namespace \
      --set garnet.token=YOUR_API_TOKEN
    ```

    Replace `YOUR_API_TOKEN` with a token from [app.garnet.ai](https://app.garnet.ai) → **Settings** → **API Tokens**.
  </Step>

  <Step title="Verify" icon="check">
    ```bash theme={null}
    kubectl get pods -n garnet
    ```

    One pod per node. Runs appear at [app.garnet.ai](https://app.garnet.ai) within seconds — with Run Profiles and [check results](/reference/checks).
  </Step>
</Steps>

## Configuration

| Parameter      | Description                                           | Default          |
| :------------- | :---------------------------------------------------- | :--------------- |
| `garnet.token` | API token from [app.garnet.ai](https://app.garnet.ai) | `""` (required)  |
| `cluster.name` | Display name in dashboard                             | `garnet-cluster` |

For init containers, heartbeat intervals, and full chart overrides, see the chart's `values.yaml` and [Jibril Kubernetes docs](https://jibril.garnet.ai/install/k8s/).

## Troubleshooting

<AccordionGroup>
  <Accordion title="Agent doesn't appear in the dashboard">
    Check pod status and logs:

    ```bash theme={null}
    kubectl get pods -n garnet
    kubectl logs -n garnet -l app=garnet
    ```

    Verify `garnet.token` is set correctly. The token must match a valid API token from [app.garnet.ai](https://app.garnet.ai) → **Settings** → **API Tokens**.
  </Accordion>

  <Accordion title="Pods in CrashLoopBackOff">
    Jibril requires Linux kernel 5.10+ with eBPF support. Verify your node kernel versions:

    ```bash theme={null}
    kubectl get nodes -o wide
    ```

    If nodes are running an older kernel, upgrade to a supported version. See [Jibril requirements](https://jibril.garnet.ai/install/requirements.html).
  </Accordion>

  <Accordion title="Custom cluster name">
    ```bash theme={null}
    helm upgrade --install garnet garnet/garnet \
      --namespace garnet \
      --set garnet.token=YOUR_API_TOKEN \
      --set cluster.name=my-cluster
    ```
  </Accordion>

  <Accordion title="Upgrade or reinstall">
    ```bash theme={null}
    helm upgrade garnet garnet/garnet \
      --namespace garnet \
      --set garnet.token=YOUR_API_TOKEN
    ```
  </Accordion>
</AccordionGroup>
