fleet

Commands

fizz ship and fizz report.

fizz ship

Ship the config to every reachable Machine.

FlagDescription
--dry-runCheck and plan only. Print every Machine's plan and change nothing.
--only <machine>Ship only to this Machine. Repeat the flag for more.
--rebuild <item>Rebuild a record Item (repos:<name>) even when it is up to date. all for every one.
--answer <answer>Answer a Question in advance: kind=choice or kind:subject=choice. Repeat the flag for more.
--bumpAnswer every above-range Question by bumping the config (--answer range=bump).
--enforceAnswer every above-range Question by downgrading into the Range (--answer range=downgrade).
--overwrite-configShip even when another Machine holds a newer config, overwriting it (--answer config=overwrite).
--config <path>The config file. Default: $XDG_CONFIG_HOME/fleetfizz/config.jsonc.

A Ship checks every Machine, plans its Steps, asks any Questions, then applies the plans in parallel. The Ledger lists what changes on each Machine by address: vp:node, repos:connorch-t3code.

Answering in advance

--answer kind=choice answers every Question of a kind: range=bump|skip|downgrade, config=overwrite|stop, or mode=managed|skip. --answer kind:subject=choice answers one, such as range:vp:vercel=bump, and wins over the kind's answer.

Without a terminal, a Question is never waited on: the answer is skip. Piped to a file, the Ledger prints the full list once at the end.

A newer config elsewhere

If another Machine holds a config that was shipped more recently than this one, the Ship asks first: use that config here and ship it, overwrite it with this one, or stop. --overwrite-config answers overwrite in advance, and without a terminal the Ship stops instead.

fizz report

Print the full Ledger of the last Ship from this Machine.