Documentation
¶
Overview ¶
Command agent is the Ruust host agent: a single static Go binary deployed to workload hosts. It implements the pull-based reconciliation loop from the build plan (phase 1).
The agent needs no inbound ports. It polls the control plane on an interval with jitter, diffs desired state against the containers it owns on the host (those carrying the ruust.blob label prefix), converges (start missing, stop extra, restart unhealthy or crashed), and reports actual state back. If the control plane is unreachable the agent keeps the existing containers running and simply retries on the next tick: workloads keep running when the control plane is down. Every operation is idempotent and safely retryable.
Configuration comes from the environment, with a token read from disk:
RUUST_CONTROL_PLANE_URL base URL of the control plane (for example
https://cp.eu-west.ruust.internal)
RUUST_HOST_ID this host's id
RUUST_HOST_TOKEN bearer token (inline), or
RUUST_HOST_TOKEN_FILE path to a file holding the token (default
/etc/ruust/host.token)
RUUST_REGION region slug, for structured logging only
RUUST_POLL_INTERVAL base poll interval (default 10s)
RUUST_POLL_JITTER max extra random delay per tick (default 3s)
British English throughout. No em dashes. The customer-facing unit is an Egg; "Blob" is internal only and never logged in a way a customer would read.