-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Oci transport refinement #11711
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
Oci transport refinement #11711
Conversation
I have tested manually this branch at commit
Part of the output shows that it connects to the server properly (TLS works):
|
@keskad Were your sample commands successful even though you may have received a 404 response within the underlying ORAS client library code? |
Is this PR going anywhere? |
We've been building and running off this branch for over a month to take advantage of ability to have a root CA for private registries passed in for the helm install. Our customers use Harbor and other registries to mirror charts and images for performance reasons and to support air gapped environments. |
|
@sabre1041 Sorry, I will today test it :) |
The This work just fine with github actions, and I understood that @sabre1041 is migrating all tests there.
We have tested this with @sabre1041. As this is a consequent change, I believe 2 maintainers review and approval are necessary. |
Nice work @souleb and @sabre1041 🤌 🚛 Thanks @keskad, for testing. @TerryHowe, thanks for joining the last Helm dev meeting, giving your results, and commenting about them. Glad it's been working! Let's get it in. Dotting i's and crossing t's, I ran the CI commands in this config file locally from the point of failure in CircleCI. Note the last step
|
Sorry for late reply. I have checked it and I can login & push & pull using binary built from |
If implemented, users will be able to use custom certificates and CA to while interacting with OCI registries. Signed-off-by: Soule BA <bah.soule@gmail.com>
Signed-off-by: Andrew Block <andy.block@gmail.com>
Signed-off-by: Andrew Block <andy.block@gmail.com>
Signed-off-by: Andrew Block <andy.block@gmail.com>
Signed-off-by: Andrew Block <andy.block@gmail.com>
If enabled the registryClient is set using a helper that accepts the TLS flags. This keeps the client creation consistent accross the different commands. Signed-off-by: Soule BA <bah.soule@gmail.com>
5c40996
to
11738dd
Compare
finally green! @scottrigby @mattfarina any chance you could take a look at this? |
Scott's comment 3 weeks ago about |
As to Damian's comment about the ca-file option, works for me:
Running Harbor |
login
Push
Show
Install
|
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.
Nice work Soulé! And Andy! For this combined PR with both of your work in it. I reviewed the code again. The tests added look great. All tests pass now too. 👏
Thanks, @TerryHowe, for the end-user feedback from AWS and for manually testing these as well! #11711 (comment). I have manually tested a lot of this now too and it passes. (also Thanks @keskad for your prior testing in earlier iterations).
Approving ✅ We'll need another maintainer who didn't work on this PR to approve this one as well before merging.
Thanks @jdolitsky! 💖 We're good to merge. This should be included in 3.12.0. |
Title: Push to OCI insecure registry err |
Does not work with "helm dep update": helm version helm dep update
This also does not work (gives same result): And of course: (BTW: Same behaviour with "helm dep build") |
What this PR does / why we need it:
If implemented, users will be able to use custom certificates and CA when interacting with OCI registries.
This is convenient for user interacting with registries that hold custom signed certificates. By providing the CA the server certificate can be validate during handshakes.
This also enable interacting with insecure registries.
The following flags can be used when using the helm cli with OCI Registries:
cert-file
, identify registry client using this SSL certificate filekey-file
, identify registry client using this SSL key fileca-file
, verify certificates of HTTPS-enabled servers using this CA bundleinsecure-skip-tls-verify
, skip tls certificate checksSpecial notes for your reviewer:
For the oras client, we use a functional option to provide a custom
httpClient
that can then be passed toauthorizer
andresolver
. This is flexible, and sdk users can construct their client with any needed custom transport.We tested this by setting up a docker registry in an ec2 server with a certificate and CA generated with openSSL.
Regression test have been manually performed for the following helm cmds:
If applicable:
cc @sabre1041