CLI reference / host / upgrade

stado host upgrade

Invocation

stado host upgrade [OPTIONS] <TARGET>

Purpose

Bring TARGET's installed Stado to a newer committed revision: build it for TARGET's platform, sign it here with the stable identity, deliver it, install it with TARGET's new Stado, and confront every check that answered before with TARGET again. The revision is origin/main's tip, fetched without asking anyone for a credential, or `--source-commit`, which origin/main must carry; one older than the revision TARGET runs is refused. A signature that changes the installed program's code identity makes macOS ask the person at TARGET again for every privacy decision it keeps for it, so then the upgrade runs only from a terminal, names each dialog and its answer first, and starts when the host's name is typed back. After the install, a check that answered before and no longer does puts the kept previous program back and says so. `--plan` reads and reports every step and changes nothing.

Required inputs and options

Input or optionContract
<TARGET>Positional input; required or optional as shown in the invocation.
--source-commit <COMMIT>The commit to install instead of origin/main's tip; origin/main must carry it
--builder <HOST>The registry host that compiles the revision; this machine when it shares TARGET's release platform, else TARGET
--signing-keychain <KEYCHAIN>Sign with this keychain of yours instead of the fleet's signing role
--signing-identity <IDENTITY>The identity to sign with, by its name or SHA-1, from `--signing-keychain` or the keychain search list
--join-networkAfter the install, join TARGET to Stado's network (`stado network up --host TARGET`, run by TARGET's new Stado)
--planRead and report every step; build, sign, deliver and install nothing
--jsonEmit the report as JSON

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

  • The commit to install instead of origin/main's tip; origin/main must carry it
  • 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.