Files
stack/docs/fleet/how-to/start-stop-restart.md
T
veronicaandfred a480ee83dc
ci/woodpecker/push/publish Pipeline was canceled
docs(W4): document contract — stamp kind and status on 104 live docs (#1350)
Co-authored-by: veronica <[email protected]>
2026-08-21 14:07:36 +00:00

1.9 KiB

kind, status
kind status
guide active

Safely Reconcile and Control a Local Fleet Agent

Use the canonical local roster-v2 command surface:

mosaic fleet apply --expected-generation <n> --dry-run
mosaic fleet apply --expected-generation <n>
mosaic fleet reconcile --expected-generation <n>
mosaic fleet start <name> --expected-generation <n>
mosaic fleet stop <name> --expected-generation <n>
mosaic fleet restart <name> --expected-generation <n>
mosaic fleet status [<name>]
mosaic fleet verify
mosaic fleet doctor

Start with --dry-run. It validates roster semantics, deterministic projections, private managed paths, exact holder ownership, and named-socket state without changing files or lifecycle state. Explicit apply and reconcile rebuild derived projections and enforce persisted roster state: enabled running agents may start, while stopped or disabled agents are not started. This guarantee does not extend to reboot/service activation yet; boot preservation remains an FCM-M3-002 hold.

start, stop, and restart are explicit one-shot exact-service actions. They do not persist a lifecycle change. update preserves the agent's existing lifecycle, and no delivered operation changes durable lifecycle after creation.

Every command prints JSON. Observation commands report drift without mutation; verify exits non-zero on ownership mismatch, unmanaged sessions, or drift. A failed apply that wrote some derived projections reports projections: "incomplete" with bounded recovery to regenerate from the roster. A lifecycle failure after projections reports incomplete lifecycle work; it is never represented as a rollback or no-op.

These commands are local only. Remote/SSH/connector entries are inventory/validation-only. Commands do not accept arbitrary runtime commands, channels, secrets, generated-file desired state, or arbitrary tmux sockets.