-
Notifications
You must be signed in to change notification settings - Fork 228
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
fetching alpha1 packages fails to fetch the package #2338
Comments
Personally, I would expect that I can fetch an alpha1 package. It should download the contents as they are from the repo and prompt me that I need to upgrade (by running |
I think it would be confusing to just fetch a package using In v0.39 kpt pkg get does the following things
Now we are saying if the fetched package is of old version, then just exit after step 1. I think if would confuse users more when Instead, users are prompted to use, |
Why couldn't we fetch the package, run kpt fix, then add upstream info? |
You mean
|
I think other options are on the table as well. One of the ideas to explore is possibly to use the checkout with "detached head" which explicitly disables upstream rebase down the line: https://www.git-tower.com/learn/git/faq/detached-head-when-checkout-commit/ So if there is a command to get a detached pkg get command then people can fix it locally. My fear is that without having 1-2 commands that easily help migration a large portion of the packages we are forcing the package consumer to do too much. What's losing here is kpt. |
Fine, we don't need to run
It is new to require consumers to make their own checkout of the entire upstream repo. |
Another data point to consider here is the desire to support the following use cases:
All of those use cases would probably result in not being able to fully support a 3 way merge and I am not sure that customers would expect that. The higher order decision here is - do we support what the upstream storage system supports (lowest level being rsync) or do we limit the upstream storage and format because we want to ensure advanced merge scenarios. |
We should be able to support a 3-way merge with OCI, with an opinionated versioning model. |
So we have discussed supporting backwards compatibility and automatic migration of kpt v1alpha1 packages. Given the number of changes to the package format and the functionality in kpt v1, this will require significant amount of work and it will not be a seamless migration. We just don't think the resulting experience will be worth the additional effort and complexity required. Given that we have published the v1 version of the package format, it should not change in any backwards incompatible ways unless there is a v2 version of the format at some point in the future. As for supporting OCI, I expect we will be able to do that with 3-way merge. The current package schema is designed to allow for non-git storage backends. Supporting the "dumb" git protocol will not cause any problems for the 3-way merge. It is still git, so we can fetch old revisions just like we currently do. It is just less efficient and not really widely used. |
We don't necessarily need to support automatic migration. I think the ask here is just to be able to run What would be the significant complexity in that? |
Hello team, this error seems to be persistent. We The workaround is to download this file from github ASM Packages and clean up the resources manually by running |
Describe your problem
It looks like when I fetch an old package I only get the Kptfile, but not anything else in that package. This makes it impossible for me to update the package locally. The work around I need to resort to then is either getting alpha1 kpt and juggling both of them, or using raw git.
Example:
What would I expect instead?
When fetching the old package the new binary should at the very least do what I would do with git - grab the current package and have full contents of it on my local machine. That way I can fork and migrate.
Steps to fork and migrate:
kpt pkg get
of an old packageQ: What happens if I am under impression that I will still be able to get updates upstream?
We should give an error that says that the upstream package is of the old format and the consumer should ask the producer to migrate the package and provide the link to the download of the old binary if they updated by mistake.
The text was updated successfully, but these errors were encountered: