Skip to content

Operations

Day-2 operator procedures. The home directory is designed to be portable, so most operations are file copies plus a systemd action.

For runtime-level ops (start, stop, restart, status, logs, health) see Runtime Supervision. Those are bus-side operations exposed by host.control and system.runtimes. This section covers the Host-level filesystem and systemd procedures only.

Pages

  • Backup — what to copy, what to skip.
  • Restore — restoring a <host-home> onto a fresh install.
  • Upgradeapt upgrade hivecast (Linux) and the wrapper-install upgrade pattern.
  • Rollback — pinning a prior .deb version, restoring a backup of host.json if a config change broke things.
  • Diagnosticshivecast doctor, status introspection, common signatures.
  • Uninstallapt purge, wrapper teardown, manual filesystem cleanup.

Daily commands

Bus-side, not HTTP. Use matrix invoke against the Host's local NATS:

bash
# Inventory
matrix invoke system.runtimes runtimes.list '{}'
matrix invoke system.runtimes runtimes.summary '{}'
matrix invoke system.devices devices.list '{"includeOffline":true}'

# Per-runtime control through host.control
matrix invoke host.control host.runtime.start '{"runtimeId":"RUNTIME-..."}'
matrix invoke host.control host.runtime.stop  '{"runtimeId":"RUNTIME-..."}'
matrix invoke host.control host.runtime.restart '{"runtimeId":"RUNTIME-..."}'

# Host-level
matrix invoke host.control host.status '{}'

hivecast doctor and hivecast status wrap several of these calls for operator convenience; they are not the authority. The bus is.

Status: bus-is-authority migration in progress. Today the wrapper CLI still calls some HTTP projection endpoints (/api/runtimes/*, /api/host/stop). Internal substrate consumers must migrate to the bus-side host.control invocations above. See P1.43.

Backup discipline

The home directory is the only durable state the Host owns. Back it up before every upgrade and before any manual edit of host.json. The Backup page lists exactly which subdirectories to copy and which to skip (logs and JetStream data are large and not load-bearing).

See also