-
Notifications
You must be signed in to change notification settings - Fork 206
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
vendor-specific strings in HTTP headers #26
Comments
I suggest one of two paths:
|
@mikebrow I like option 1. What about the |
Below is a table of the Docker headers mapped to OCI:
I think it would be a good idea to split Examples
|
@atlaskerr It sounds like a good idea. 👍 Question. Would it be possible to change so before the distribution-spec release v1.0? |
@dongsupark That's a question for the maintainers. I would love to see this change made before the v1.0 though. |
After thinking about it, if v1.0 is all about standardizing the current spec, we should keep the headers and switch to OCI headers in v1.1. The OpenAPI spec did the same thing. The first version of the spec allowed the top object name to be |
|
This isn't really the place to have semantic versioning. To actual enforce semantic version, you drop the patch number so that people don't break semver by using the patch version. Basically, you only expose as much of the version as you want clients to switch and you get actual semantic versioning. Really, you should only expose the major. But let me be certainly clear: changing names to satisfy some sense of "Vendor Neutral-ness" isn't going to help with the adoption of the specification. 🤗 Ultimately, we should drop |
@stevvooe I agree. After working with the spec for a bit I'm beginning to see the error in my ways haha |
That PR was closed.. so let's consider this still unresolved. |
Have to agree with @stevvooe "changing names to satisfy some sense of "Vendor Neutral-ness" isn't going to help with the adoption of the specification." So to modify option 1 from above:
|
Agreed, let's discuss this on the call and see if there is any desire to replace it or just drop for now. Maybe leaving some optional wording (legacy version MAY be implemented) or even a comment regarding why it was left out and what our recommendations are regarding versioning for this and future releases. somewhat related discussion regarding version prefixes here: #28 |
I made a thread on the mailing list about that last week but it didn't get much traction: |
@atlaskerr, might have been related to the advertising for your "image registry that aims to be the successor to the Docker registry." Pretty high aims there :-) Cheers, Mike |
@mikebrow I didn't mean for it to sound offensive. I'll take it down. |
No offense taken.. no need to take it down, or withdraw prs, or close issues,... Give it some time, the maintainers tend to get busy with other projects, as we all do, and thus the distribution spec project has taken a little longer than expected to get going, when compared to other OCI projects. It was important to disclose why this is important to you, helps us get to know you, ... all good :-) |
I've reopened #29. Let's plan for merging this PR this week after the Wednesday call once we hammer out the details. |
per today's discussion, |
@vbatts just |
We also discussed with the I guess all that is to say is we should just keep the vendor strings as legacy, but don't attempt to replace any of the ones we haven't already. |
So adding the |
hate doing legacy text in a new spec for something we don't want to be used :) But it is what it is. Maybe a "Legacy" highlight.. |
Looking through the client code there is a case where this header is very valuable. Having this header will allow clients to get the content digest via a |
Sure.. no way to generate a digest without the body, and if you get the digest in the head request you can check it against some "expected" digest that may have been specified in a client pull request for example. Save some download time. |
@mikebrow a common use case would be to HEAD the registry and compare the digest with what you already have. We also do this in containerd to create a descriptor then always doing a |
For the 1.1 release there is a plan/idea of adding a tags endpoint which should provide clients a better way to do tag<-->digest checking (ping @stevvooe ). With that in mind, I don't think it makes sense to replace |
@dongsupark i think this have been worked at, but could you review again to see how far it is from being closed? |
At meeting, we concluded |
As discussed on the call today, we'd like to include every Docker prefixed header as optional, and not replace any with OCI prefixed headers for 1.0.0. The follow steps need to be done to close this issue: |
Resolved by #206 |
The current distribution-spec contains vendor-specific strings like
Docker
in HTTP headers. Though it's not clear to me what we should do about it, because simple string substitutions would be incompatible changes. So I'm simply listing them below, without creating a PR.Docker-Content-Digest
Docker-Distribution-API-Version
Docker-Upload-UUID
The text was updated successfully, but these errors were encountered: