Reorganize the command tree and introduce config#3
Reorganize the command tree and introduce config#3adamwg wants to merge 4 commits intocrossplane:mainfrom
Conversation
Historically, we've introduced new commands in the `crossplane alpha` or `crossplane beta` trees and moved them as they matured. This makes it awkward to introduce new commands in existing trees, since the tree gets split across maturity levels, and also breaks users when commands mature since their invocation changes. Move all the existing alpha and beta commands to the top level (or into the right tree, in the case of `crossplane render op`). Start indicating maturity using kong tags. Alpha and beta features are hidden from help by default but can be enabled by configuration and have a maturity indicator added to their help automatically. Make `crossplane render xr` the default subcommand for `crossplane render` so that existing render users are not broken by this change. Fixes crossplane/crossplane#7309 Signed-off-by: Adam Wolfe Gordon <awg@upbound.io>
Now that we have a config file, we need commands to manage it. Add basic `crossplane config view` and `crossplane config set` commands so we can view and update the config. Signed-off-by: Adam Wolfe Gordon <awg@upbound.io>
As proposed in the DevEx design doc, reorganize our command tree so that it's noun-centric. Leave `crossplane render` as an alias for `crossplane xr render` since that command is GA and we don't want to break any users/scripts. Allow alpha and beta commands to move without aliases. Signed-off-by: Adam Wolfe Gordon <awg@upbound.io>
Show only the top-level nouns in the help. The user can use the `--help` flag on any of these commands to see the subcommands. This will help keep our help tidy and readable as we expand functionality. Signed-off-by: Adam Wolfe Gordon <awg@upbound.io>
|
Warning Rate limit exceeded
To continue reviewing without waiting, purchase usage credits in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (24)
📒 Files selected for processing (55)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Checklist intentionally incomplete since we do need a docs issue for the breaking changes. |
Description of your changes
Per the DevEx design doc, reorganize the command tree to be noun-centric. As part of this, also remove the alpha and beta command trees and start indicating command maturity using kong tags. Hide alpha and beta commands by default and indicate their maturity level in help when they're visible. Don't prevent users from running the commands if they're "disabled"; just hide them.
To allow enabling alpha and beta features, introduce a config file and a
crossplane configcommand to manage it. The file is simple yaml, and for now enabling alpha and beta features are the only options. Show how to do this in the help text.To avoid breaking users, leave
crossplane renderas a hidden alias forcrossplane composition render. All the other commands that have moved were alpha or beta, so allow their old invocations to break.Fixes crossplane/crossplane#7309
I have:
./nix.sh flake checkto ensure this PR is ready for review.- [ ] Addedbackport release-x.ylabels to auto-backport this PR.