kindgi promote
kindgi promote
Section titled “kindgi promote”Synopsis
kindgi promote --from=<env> --to=<env> [--deployment=<id>] [--reason=<text>] [--check] [--pin [--wait[=<duration>]] [--replace=<block>]...] [--path=<dir>]Move a build to the next environment of its environment order, staging to prod, say: the same signed image, with the edits made since to its agents and flows. Prints what moves, then each value the build needs there that isn't set, with the command that sets it; exits 1 while one isn't. --check stops before moving anything. With --pin, exits 3 when a carried version isn't pinned: held by the gate, or waiting for an approval (--wait waits for the decision). With --pin, a newer version of one of the build's blocks running in --to stops it first, with nothing moved, and exits 1, unless --replace names the block. In a pack, --from and --to are its environment names; outside one, project ids or slugs.
Options
| Option | Default | Description |
|---|---|---|
--check |
off | What would move, and the values not set in --to. Changes nothing. |
--deployment <value> |
none (the one deployment serving in --from; in a pack, of this pack) |
The deployment to promote. Default: the one deployment serving in --from (in a pack, of this pack). |
--from <value> |
required | The environment the build serves in: its name in your pack config, or outside a pack a project id or slug. |
--path <value> |
the current directory | The pack root. Default: the current directory. |
--pin |
off | Pin every agent version the promotion carries in --to, each through its scope's release gate, and every flow version it carries. A project there that ran its Latest runs the pinned version from then on, off Latest: --pin is the ask, so nothing more is confirmed. Prints each, and any waiting on a gate; exits 3 when one isn't pinned. |
--reason <value> |
none; required with --replace |
Why, kept on the audit record. With --replace, why each block goes back too. |
--replace <value> |
none: a block the pins would put back to an older version than runs in --to stops the promote (with --pin only, repeatable; needs --reason) |
With --pin: a block the pins put back to the build's older version than runs in --to, on purpose (repeatable). Needs --reason. Repeatable. |
--to <value> |
required | The next environment of the order: its name in your pack config, or outside a pack a project id or slug. |
--wait <value> |
off; a bare --wait waits at most 1h |
When a version waits for an approval, wait until a reviewer decides: at most the duration given (90s, 30m, 2h), 1h when none is. Exits 0 once it is pinned, and 3 when it is rejected, its approval expires, it is superseded or the wait runs out, and 1 when 3 reads of the pin in a row fail. An approval stays open after the wait. |
Every command also takes the global flags.
Examples
Promote the build serving in staging to prod, saying why.
kindgi promote --from=staging --to=prod --reason="release 12"Promote to prod and pin each agent the build carries there, each through its release gate.
kindgi promote --from=staging --to=prod --pin --reason="release 12"See what would move to prod and which values it lacks, changing nothing.
kindgi promote --from=staging --to=prod --checkOutside a pack, name the two environments by project slug or id.
kindgi promote --from=acme-staging --to=acme-prodFrom Ship a pack from CI:
pnpm exec kindgi promote --from=staging --to=prod --checkpnpm exec kindgi promote --from=staging --to=prod --reason="Passed in staging"See also