CLI reference / service / list

stado service list

Invocation

stado service list [OPTIONS]

Purpose

Every registry-managed service across all hosts, with its state. Answered from the latest health beacons, so it costs no ssh and reports on hosts that are not currently reachable. A host that has published no beacon reports `unknown`, which is deliberately not the same answer as `missing`. `STATE` is the host beacon's report about its own unit. `OBSERVED` is the latest independent observation of the service. A silent host cannot confirm current state; `never` means no independent confirmation exists. `--unowned` lists product processes no launchd job or systemd unit owns. These processes are outside the managed unit lifecycle. A process is a product process when it executes out of a managed root or its working directory is under one, so a program started there with a relative command line (`bash release/build.sh`) is found too. `--undeclared` lists loaded launchd jobs absent from the registry. Declared-unit listing cannot find them, and owned processes do not appear in `--unowned`; all three views answer different questions.

Required inputs and options

Input or optionContract
--unownedReport the product processes no unit owns instead of the declared managed set. This is the one question in this group the beacons cannot answer -- an unowned process is by definition in nobody's declaration -- so it costs one read-only ssh per kind=local host
--undeclaredReport the launchd jobs a host has loaded under this fleet's own label prefix that the registry does not declare. One read-only `launchctl list` per kind=local host
--jsonCommand option; required or optional as shown in the invocation.

Output and state effect

It performs the operation described above and emits its operator result on standard output or standard error. Any state change is limited to the resources and records named by the purpose and options on this page.

Refusals

  • This is the one question in this group the beacons cannot answer -- an unowned process is by definition in nobody's declaration -- so it costs one read-only ssh per kind=local host
  • Before dispatch, Stado refuses a missing required token shown in the invocation, an unknown option, or a value outside a listed value set; argument-usage failures exit with code 2.