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
Support gzip and zstd HTTP transport compression to fetch remote resources #8166
Conversation
Hi @laurazard. Thanks for your PR. I'm waiting for a containerd member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Something weird in CI (Vagrant, Fedora 37); should not be related to this PR, but wondering if there's an issue somewhere; https://github.com/containerd/containerd/pull/8166/checks?check_run_id=11607343495
|
Yeah I noticed it, seems like maybe something got stuck/didn't get cleaned up in the runner. |
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.
changes LGTM
@dmcgowan I see you added the 2.0 milestone to this; was there a discussion on this one? |
@thaJeztah no, this one never got discussed, labeled it as needs discussion. All PRs which need discussion got put in 2.0 or removed from 1.7 milestone. For this PR in particular, I think this is missing a few things still. (1) A timeline for when we would expect official support in Golang, moving from built in protocol support to custom parsing/handling is not preferred for this type of functionality. (2) Justification, as @kzys asked in the previous PR, who is using this or trying to use it. (3) Testing, especially if we are going to accept this custom handling over what the built in http library does for us automatically. |
2571776
to
e424bef
Compare
For (2), I've just updated the PR to add some tests for the custom compression handling. Re: (3), I think it's a bit of a chicken-and-egg problem – no reason for registries to support it if there are no clients, and vice versa, which is why it would be good to optionally add support for it. thoughts @thaJeztah @dmcgowan? |
@laurazard I'm subscribed to this PR since I'm trying to add zstd support to everything. There is one PR in Docker's official Registry. I'm pretty sure once the official registry add support for zstd others will too. |
Thanks for the additional context @gaby! I can try to ping people about distribution/distribution#3784 too, see if we can get that moving again. |
Found these ones at moby/moby: |
distribution/distribution#3900 got merged, maybe we can start taking a look at this again |
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.
One nit for the test, but otherwise LGTM
e424bef
to
aa3aad8
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.
LGTM
@laurazard @dmcgowan @thaJeztah Any plans to wrap up this feature? Seems to be ready, but there's a comment still unresolved |
3fe668d
to
8d0b06c
Compare
@laurazard No worries, looking forward to this feature getting merged :-) |
@dmcgowan Any chance at looking at this? |
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.
LGTM just a style preference suggestion.
…urces Co-authored-by: Nicolas De Loof <nicolas.deloof@gmail.com> Signed-off-by: Laura Brehm <laurabrehm@hey.com>
8d0b06c
to
2ead895
Compare
Applied suggestions + rebased ✅ |
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.
still LGTM
Golang net/http already transparently supports gzip compression.
This adds support for zstd compression
This PR takes over #7563 since @ndeloof is no longer working on this as per #7563 (comment).
Also took the chance to address some small comments in the previous PR.