Repository navigation
cli: Un-hide bootupctl backend and document its verbs - #1169
cgwalters-bot wants to merge 2 commits into
Conversation
`bootupctl backend` had its own copy of the `bootupd` verbs that had to be kept in sync by hand, and its variants were each individually hidden. Share the one enum so both entrypoints get the same verbs and help text. Prep for un-hiding `backend`. Generated-by: AI
Hiding `backend` was meant to keep the client side less confusing, but in practice hidden commands cause more confusion than they avoid: they are used by image build tooling and referenced in our own docs, yet `--help` gives no hint they exist or what they are for. Show it, listed after the verbs for a booted system, and give it and its verbs help text that explains they operate on an OS tree or target root at build/install time, pointing users who want to update a booted system at `update` and `adopt-and-update`. Add a test so the verbs stay visible and documented. Note this reverses the intent of the deleted FIXME(lucab) comment, which planned to eventually drop `backend` from bootupctl once coreos/fedora-coreos-config#595 was refreshed. Since image build tooling still relies on it, making it a documented interface seems better, but that is a call for the maintainers. Related: coreos#1119 Generated-by: AI
|
Hi @cgwalters-bot. Thanks for your PR. I'm waiting for a coreos member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 0 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (8)
🔇 Additional comments (3)
📝 WalkthroughWalkthroughThe backend subcommand is now visible and uses ChangesBackend CLI
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Merge Risk: ⚪ Minimal · up to The backend commands are now visible, with their prior dispatch behavior preserved. No concrete merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (4 passed)
Full details: Commit Message ConventionExplanation Both non-merge commit subjects fail the required lowercase description rule. The subjects are
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
bootupctl backendwas hidden to keep the client side less confusing, but hidden commands cause more confusion than they avoid. Image build tooling uses it, and our own README, Dockerfile.bls and tests referencebackend install,generate-update-metadataandset-default-bootloader, yet--helpgives no hint that these exist or what they are for.The first commit is a prep:
bootupctl backendhad its own hand-synced copy of thebootupdverbs, each individually hidden, so it now reusesDVerband both entrypoints share one set of verbs and help text. The second showsbackendinbootupctl --help, after the verbs for a booted system. It gets help text saying these commands act on an OS tree or target root at build/install time, and pointing users who want to update a running system atupdateandadopt-and-update. A unit test keepsbackendand its verbs visible and documented.For maintainers: this reverses the intent of the removed
FIXME(lucab)comment, which planned to eventually dropbackendfrom bootupctl after coreos/fedora-coreos-config#595. Since image build tooling still relies on it, documenting it seems better than keeping it half-hidden.The issue also suggests detecting a booted system and giving clearer guidance there. That is not done here, because
backend installis legitimately run on a booted host (e.g.bootc install to-existing-root), so a simple "systemd is running" check would misfire. The help text covers the guidance for now. So this is related to #1119 rather than closing it.Testing, on a 16-core devspace in
rust:1.90.0(the pinned lint toolchain in rust.yml):cargo fmt -- --check,cargo clippy --all-targets -- -D warnings, andcargo test --all-targets(40 passed, 1 ignored). I also checked thebootupctl --helpandbootupctl backend --helpoutput by hand.Related: #1119
Generated-by: https://github.com/cgwalters/#llms