--- id: servers title: Servers sidebar_label: Servers --- The fleet. Every managed machine runs an agent that connects outbound to the control plane, and everything else in Vantage — keys, workflows, monitors, consoles — targets these records. ## Enrolling a server Covered step by step in [Add your first server](../getting-started/first-server.md). In short: **Servers → Add server** issues a single-use, one-hour token and shows a one-liner to run as root on the target machine. ## Lifecycle | Status | Meaning | | --- | --- | | `pending` | Enrolment created; the agent has not registered yet | | `active` | The agent registered and is syncing | | `offline` | Last-seen passed the threshold | The offline sweep runs every two minutes, so a machine that has just gone away takes a little while to be marked as such. That delay is intentional — a single missed poll is not an outage. ## The server detail page ### Keys Which SSH keys are assigned to this machine, and their state. See [SSH keys](./ssh-keys.md). ### Inventory Agents report: | Data | Refreshed | | --- | --- | | CPU, memory, swap, load | every 30 seconds | | Partitions, kernel, full static snapshot | every 15 minutes | The two carry separate timestamps, so a stale static snapshot beside fresh metrics is normal rather than a fault. ### OS updates Agents check for pending package updates hourly and report the count. From the server page you can: - **Apply updates** — pushes `ApplyUpdatesCmd` down the command stream. The agent runs the platform's package manager and reports back. - **Update agent** — pushes `UpdateAgentCmd` with a target version; the agent downloads the release, verifies it and replaces itself. See [Agent updates](../operations/agent-updates.md). :::warning Applying updates is not scheduled or staged It runs now, on that machine. If you need ordering, health gates or a canary, build it as a [workflow](./workflows.md) instead — that is what workflows exist for. ::: ### Console Opens a browser SSH, RDP or VNC session. See [Browser console](./browser-console.md). ## Windows servers Windows agents register, heartbeat, run workflow steps and report inventory. They do not manage `authorized_keys` — the poll loop stops after the heartbeat on any non-Linux host. This is a deliberate scope decision, not a gap being worked on. ## Removing a server Deleting the server record removes it from the fleet. It does **not** uninstall the agent, which will keep trying to sync and failing. Uninstall it on the machine too: ```bash systemctl disable --now vantage-agent rm -f /usr/local/bin/vantage-agent /etc/systemd/system/vantage-agent.service rm -rf /etc/vantage systemctl daemon-reload ``` Keys previously written to `authorized_keys` stay on disk, because the agent is no longer running to remove them. Revoke and let the agent apply the change **before** you delete the server if that matters to you. ## Agent tokens Each server has its own token. The control plane stores only its SHA-256; the plaintext exists in the agent's `0600` config and nowhere else. There is no way to read a token back out of the control plane — if one is lost, re-enrol the machine.