v0.2.60
cli v0.2.60 — up is the command, status is the answer, platform is the platform (2.23a, unreleased)
Three renames' worth of honesty, no new capability. Every signal apprafter status now prints already had a reader; what changed is which command owns it.
Added
-
apprafter statusanswers "is anything wrong with my cluster?" It rolls
up the active target, the platform's version and any unhealthy condition, the
applications reporting problems, the applications held at an image digest, and
the MigrationPlans awaiting approval — in that order, from one cluster-wide
application read shared by both application sections so they describe one
instant.Every cluster-side section degrades to a labelled line instead of failing.
An operator runs this command because something looks wrong, and an
unreachable cluster is one of the things that can be wrong; a command that
errors out on the first failed read is useless in exactly that case. The
local half always prints, and an unreachable cluster is told apart from a
cluster with no PlatformStack — different problems, different next steps.Exit status stays 0 even when sections are unhealthy.
doctorowns the
"exit non-zero on FAIL" contract, and a second differently-shaped failing
contract is a promise this does not make.
Changed
-
apprafter upis the canonical command name;bootstrap-allis now its
alias. Both spellings keep working, and a test asserts both directions —
a one-directional test passes just as happily against a definition that
dropped the alias entirely. -
apprafter platform statusprints the platform stack and nothing else.
The pinned-application list and the application problem roll-up moved to
apprafter status. Neither ever read the PlatformStack; they were built here
because this was the only command with a cluster-wide view, which is a reason
to have built them and never was a reason to file them underplatform.
Nothing about how they render changed — the move is a move, and the test that
pins the roll-up andapp statusto one filter moved with them. -
status's conditions section shows only what is unhealthy, by polarity
rather than bystatus != "True". That filter is exactly backwards for
YankedVersionandNodeDiskPressure, which are bad news because they are
True— so it would have hidden the two conditions a reader most needs. A
condition type this build does not classify is always surfaced, and a unit
test fails when the operator grows a type the CLI has not classified.
Fixed
docs/reference/environment.mdlinked tocli/bootstrap-all.md, which the
rename removes.docsgen generateis write-only by design, so the stale page
was removed by hand rather than left as a stray fordocsgen checkto find.