New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
config3alphato3: convert config version 3-alpha to 3 #4613
config3alphato3: convert config version 3-alpha to 3 #4613
Conversation
if i just use operator-sdk and don't know kubebuilder exists, i might be confused about which version of what this is referring to, especially because kubernetes already has a thing called version that is special. maybe include some blurb in the command description about what this is specifically referring to. |
For some reason, when we mentioned auto migration, I didn't expect another subcommand on the CLI. |
it's almost like the
Making |
Relative to the name of the command, I would maybe use "migrate" or "auto-migrate" over "convert". Will use "convert" for the discussion now to avoid missunderstandings. From an implementation PoV, "convert" From a backwards compatibility PoV, if "pkgman-to-bundle" is already present in a released version, moving it into a subcommand would be technically a breaking change, so maybe it is needed to offer it as both Now, with my eyes set in the future, we may need some similar subcommand when we make some plugins more state-aware. For example,
Disclaimer: we can probably be smart enough not to need to ask the user if he wants to track resources, but I wanted to illustrate some user interaction trhough the migration process. |
Thanks for the feedback everyone. Regarding the subcommand naming/hierarchy comments: these migration-type commands do not represent stable APIs, or features for that matter. They exist only to help users migrate between project states in very specific cases. I do not want users to think they can rely on more migration commands being added that effectively run through SDK upgrade guides published with each release. Therefore either hiding them or putting them under |
Could we just add the info on why the project version has more data now in the changelog also provide the upstream links where we have the definition over what actually each field means just in case the person requires to fix anything manually? See; #4613 (comment) and #4613 (comment). (Also, would be nice we link the production doc but I think it still not published :-( ) After that, it shows ok for me. |
Just a comment, |
internal/cmd/operator-sdk/alpha/config3alphato3/convert_config_3-alpha_to_3_test.go
Show resolved
Hide resolved
internal/cmd/operator-sdk/alpha/config3alphato3/convert_config_3-alpha_to_3.go
Show resolved
Hide resolved
internal/cmd/operator-sdk/alpha/config3alphato3/convert_config_3-alpha_to_3.go
Outdated
Show resolved
Hide resolved
internal/cmd/operator-sdk/alpha/config3alphato3/convert_config_3-alpha_to_3.go
Show resolved
Hide resolved
internal/cmd/operator-sdk/alpha/config3alphato3/convert_config_3-alpha_to_3.go
Outdated
Show resolved
Hide resolved
We need to address the Adirio founds as well before get merged.
…on 3-alpha to 3 internal/cmd/operator-sdk/cli: add PersistentPreRun to root cmd for helpful error message Signed-off-by: Eric Stroczynski <ericstroczynski@gmail.com>
711d076
to
bb5a947
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all comments addressed!
so it shows nice for we move forward.
…ork#4613) internal/cmd/operator-sdk/alpha/config3alphato3: convert config version 3-alpha to 3 internal/cmd/operator-sdk/cli: add PersistentPreRun to root cmd for helpful error message Signed-off-by: Eric Stroczynski <ericstroczynski@gmail.com>
…ork#4613) internal/cmd/operator-sdk/alpha/config3alphato3: convert config version 3-alpha to 3 internal/cmd/operator-sdk/cli: add PersistentPreRun to root cmd for helpful error message Signed-off-by: Eric Stroczynski <ericstroczynski@gmail.com>
Hi, |
@kuritka yes, that is how the project spec defines the version type. |
That's part of YAML definition. |
Description of the change:
Motivation for the change: Version 3-alpha has been removed after version 3 was released. While this change is not technically breaking because the spec at that version was alpha, it was used by default in
operator-sdk
commands so should be marked as breaking and have a convenient migration path. Thealpha config3alphato3
command will convert most of a PROJECT file from version 3-alpha to 3, and leave comments with directions where automatic conversion is not possible./kind feature
Checklist
If the pull request includes user-facing changes, extra documentation is required:
changelog/fragments
(seechangelog/fragments/00-template.yaml
)website/content/en/docs
Signed-off-by: Eric Stroczynski ericstroczynski@gmail.com