-
Notifications
You must be signed in to change notification settings - Fork 707
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
Less obnoxious OCI pulling on sync #6804
Conversation
Signed-off-by: Michael Nelson <[email protected]>
…ssarily. Signed-off-by: Michael Nelson <[email protected]>
Signed-off-by: Michael Nelson <[email protected]>
✅ Deploy Preview for kubeapps-dev canceled.
|
Signed-off-by: Michael Nelson <[email protected]>
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.
Thanks Michael!
Thanks for the review. Just note, I'm holding of landing this until I have the follow-up PRs also done and can check it works as expected locally. First one is at #6825 but there will be one more following that also. I'll land them once tested locally. |
### Description of the change Follows on from #6804, this PR updates so that the actual Syncing happens per chart+versions, rather than at the end of the process. Much of the change is refactoring functions that worked with slices of charts to work with a chart instead. The complexity is the actual refactoring of the sync, requiring channels to iterate on the results etc. ### Benefits We'll be able no have results in the UX much more quickly (important with OCI imports, which take longer without a big index.yaml to simply parse). ### Possible drawbacks Currently this will not work as expected, as two more changes are required: 1. Need to *update* the existing chart versions for a chart, rather than re-writing them (with only the chart versions that were synced, as it will do now) 2. Need to collect the charts to be deleted and pass those explicitly, rather than deleting all charts that are not in the current set being synced (which it currently does - as this worked when syncing everything). ### Applicable issues - ref #6706 ### Additional information Last PR to follow. --------- Signed-off-by: Michael Nelson <[email protected]>
Description of the change
This PR update the way we pull OCI repos, so that we:
Benefits
We can pull large OCI catalogs from public repos (in particular, can pull the Bitnami catalog from Dockerhub) without hitting public pull limits.
Possible drawbacks
The initial time until the catalog can be used is slightly longer. But I have two things I want to improve in a subsequent PR:
This combination of changes will also remove another issue we have where a subsequent sync, running within 10m of the original (by default) will do the same work currently, rather than just doing the work that hasn't been done yet.
Applicable issues
Additional information