Skip to content

Add Your First Device

From the dashboard

  1. Log in at app.kvmfleet.io
  2. Click + Add device in the sidebar
  3. Optionally set a name (e.g. DC1-Rack3-Server7) and tags (e.g. prod, frankfurt)
  4. Click Issue enrollment token
  5. Copy the install command and run it on your KVM device

The token is single-use and expires after 30 minutes.

From the API

TOKEN="your-jwt-here"

curl -X POST https://app.kvmfleet.io/v1/devices/enrollment \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"suggested_name": "my-kvm", "suggested_tags": ["prod"]}'

Response:

{
  "token": "ekvent_XgiqILZeI6C9FX-tmb-bUD...",
  "expires_at": "2026-04-23T10:30:00Z",
  "install_cmd": "curl -sSL https://app.kvmfleet.io/install | sh -s -- --token ekvent_..."
}

What happens during enrollment

sequenceDiagram
    participant Admin as You (dashboard)
    participant API as KVM Fleet Platform
    participant Device as KVM Device
    participant Agent as Agent

    Admin->>API: POST /v1/devices/enrollment
    API-->>Admin: enrollment token (30 min TTL)
    Admin->>Device: SSH + paste install command
    Device->>Agent: install script starts agent
    Agent->>API: POST /v1/agent/register {token, hw_id}
    API-->>Agent: {device_id, auth_token}
    Agent->>API: WebSocket connect (heartbeats begin)
    API-->>Admin: device appears in dashboard

Device naming conventions

Use a consistent naming scheme across your fleet:

Pattern Example Good for
{site}-{rack}-{server} DC1-R3-S7 Data centers
{client}-{location} acme-munich MSPs
{role}-{number} web-01 Simple fleets

Tags help with filtering: prod, staging, frankfurt, client-acme.