Docs · Operate

Agent architecture

Watchpost Agent is separately installed software that observes one machine and sends telemetry outbound to Watchpost. It is one monitoring method beneath a post - see Posts for the canonical model of what is monitored.

Install first, pair second

The agent is useful software before it has authority to send data. Installation creates its service, private state, bounded queue, local website, and CLI. Pairing is a later, revocable relationship with exactly one Watchpost post.

InstallAgent runs locally in a quiet unpaired state.
RequestEnter the Watchpost URL in the website or CLI.
ApproveMatch the phrase and select or create a post.
ObserveCredential saved; first telemetry confirms connection.
No terminal token is required by the web flow. Pairing requests expire and credentials remain post-scoped and revocable.

Pairing lifecycle

The complete lifecycle is: unpaired agent → pairing request → short-lived human-verifiable approval → selected or newly created post → post-scoped credential → first accepted telemetry → connected state.

Local website

The pleasant default for installation status, pairing, collector selection, delivery health and diagnostics.

Command line

The complete server-friendly surface for SSH, headless systems, automation, configuration management and recovery.

Both surfaces call one application service and persist one state model. A feature is not complete if it works through only one surface without an explicit reason.

watchpost-agent install
watchpost-agent pair --server https://watchpost.example.net
watchpost-agent pair-status

See Posts → Create and connect a machine post for the end-to-end walkthrough.

Connection inventory

Once approved, the post row shows the agent hostname, platform and explicit connection health. These are monitoring details beneath the post - not another inventory object. A host with no agent says so directly and keeps its compact Connect action.

Telemetry delivery

The agent collects CPU, memory, one-minute load, uptime, and up to eight absolute filesystem paths on a bounded 15-3600-second interval, then delivers observations in batches to the post identity.

CollectGather the profile signals
QueueWrite the batch to private agent state
DeliverSend outbound, oldest first
AcknowledgeRemove only accepted batches
Every batch is durable before transmission. Watchpost validates and persists, then acknowledges; only acknowledged data leaves the queue.

Configurable local evidence

The agent website and watchpost-agent configure command edit the same collector profile: enable CPU, memory, load and uptime, choose filesystem paths, and set the interval. Filesystem observations retain their path label.

Explicit health and lifecycle

Connections distinguish never connected, healthy, stale, offline, clock-skewed, partial, rejected and revoked. A Watchpost administrator may revoke server authority. The machine operator may separately unpair the local agent, reset it by typing its installation ID, or uninstall it; these operations are deliberately not synonyms. Credential rotation uses overlap-and-confirm so an unconfirmed replacement expires without breaking the old credential, and unpairing is server-first with retry while Watchpost is unreachable.

CPU · 38%
Memory · 79%
Disk · 94%
First accepted telemetry feeds the post survey with safe, warning and critical bars while retaining exact values, trends and labelled unknown or stale states.

Local management and trust boundaries

The agent website listens on loopback by default and protects state changes with an authenticated local session, Origin validation and CSRF controls. Local admin, technician and viewer accounts remain manageable even while Watchpost is unreachable, and state-changing local operations are recorded in a bounded local audit log.

Non-loopback access is an explicit advanced mode requiring HTTPS at a reviewed reverse proxy, secure cookies, a bootstrap token for first-run setup over the exposed interface, and explicit proxy trust. Agent delivery is outbound, so monitored machines do not require an inbound management port. See Security model for the complete trust boundary and safe failures.

Lifecycle matters

Archiving a post, revoking an agent, resetting local credentials and uninstalling the agent are different operations. Deleting a post revokes its server authority but cannot silently remove software from another machine.