-
Notifications
You must be signed in to change notification settings - Fork 706
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
Adapt the current Helm's OCI code to use the upstream version #4194
Comments
Helm folks have suggested some minor changes (mostly just targeting another ongoing PR). Ideally, it would be ready for the 3.8.1 release due on March 9th, so I'll perform those changes next week. |
The 3.8.2 has been released, but it does not include our PR. It has been target to v3.9.0 😞 |
3.9.0 is planned for May 11th, but they have tagged an rc1 and our changes have not been included. We are still blocked by helm/helm#10408.
|
Note that Helm 3.9.X includes some breaking changes with regards to the k8s version it uses in its deps. More info: #4743 |
I've taken a look at the current status and... the PR was closed without a merge. However, I've noticed they added a way to set bearer tokens (just passing a blank username). Perhaps this change is enough for what we aimed to do, adding to the next interaction discussion. |
After a second analysis, we can't leverage from what I said. We are using the resolver and other fields for both production and testing codes. An alternative idea is to use reflection to unsafely set fields... but it is not a proper choice. I have created another PR with the initially proposed approach, so that our PR does no longer depend on the tls flags one. Let's see if I get better feedback there: helm/helm#11129 Another idea: get rid of Helm for OCI... and just use the underlying ORAS support directly (although it is mostly what we are doing right now: using the Helm's code directly). So, let's wait and push forward this new PR I've sent... |
IMHO Reflection is tricky and we better avoid it. Not initially, but down the road it will give us headaches for maintenance.
Great, I hope it gets approved and merged!
+1 to the idea. This way OCI support wouldn't be tied to Helm lifecycle. Agree to wait for your PR to get approved, easier solution probably. |
It seems more people are interested in setting a custom resolver, or, at least, modifying some of its default options: helm/helm#10408 (comment), but still I haven't heard back from the maintainers :( |
PR just approved!! helm/helm#11129 (review) |
After Kapp released a new version, we should be able to upgrade to the Helm latest version. This should be the first step, then this issue will get blocked again, until they release aversion with the approved fix. |
Currently, our deps have been successfully updated and helm finally was upgraded to According to their release process, 3.10.0 is the next feature release and will be on September 14, 2022, which could mean that our (accepted, but not merged yet) PR may be included. Let's stay tuned! |
3.10.0-rc.1 has been released without our PR. I've pinged Helm folks to see if we could get it merged for the next rc release. |
Helm 3.10 has been finally released, but our PR is still blocked. Apparently, they have several OCI-related PRs stuck, some of them with some overlap... meaning we will have to wait even more time :( Edit: See More info at: helm/helm#11352 |
### Description of the change This PR is updating the `Helm` dependency to the latest version as it contains some security improvements. Since it uses a newer k8s version, a testing function (using `kubectl cp`) is also herein changed. ### Benefits When the OCI-related PR gets merged in the Helm repo (see #4194), it will be easier to update to the eventual new Helm version. ### Possible drawbacks N/A ### Applicable issues - related #4194 ### Additional information N/A Signed-off-by: Antonio Gamez Diaz <[email protected]> Co-authored-by: Michael Nelson <[email protected]>
Some updates: they have requested me to rebase my PR with the latest changes! We are closer to getting it merged. Keep you posted!
|
And... they merged the PR today!! I assume next September release will include the changes. |
Excellent. I assume we'll be able to update to the k8s 1.27 deps soon though (haven't checked again in the past week or two, but it looked like a temporary situation at the time, which is affecting lots of projects). |
v3.13 has been just released today!! 🎉 Finally!! |
Hi Antonio, what should be the next steps in this issue? Maybe now that Helm released a version including our PR we should use it. I remember you were working on it, but don't know the status and if PR is ready to be reviewed. |
Sure thing! Most of the required changes are at #4216 (it used the code from my fork). The main point of this issue is that we were using pieces of code from the Helm codebase instead of just importing it as a dependency. However, I don't really know if it is really true nowadays. |
I'm happy to go through the original PR and recent changes to merge what's relevant in. When doing the OCI work I've noted a number of places where I'd want to replace our custom code to instead use the oras client (which helm also uses), but only updated the parts that I was touching. I didn't change existing working code, and |
Took a quick look this morning and yes, there's enough changes (including file deletions, code refactors) that I'll need to manually start a new branch and apply the changes in the PR piece-meal and test. I'm going to move this issue into TODO and pick it up from there once the current OCI metadata work is completed. |
It seems the change we introduced for this (the |
After the discussion held in #4154 (comment), we agree that we should migrate to Helm 3.8.X, but their current interface to consume the OCI registry client is not enough for us.
This issue is to track the two required steps:
The text was updated successfully, but these errors were encountered: