Open jdolitsky opened 3 years ago
Thanks for taking notes, I will circle back with more fleshed out details.
Accept
headers
Accept
headers, then that means every clients needs to support both manifest lists and images, which ties into my next point...Optionally, if the digest parameter is present, the request body will be used to complete the upload in a single request.
I worry that not a lot of registries support this.Content-Type: application/vnd.oci.image.manifest.v1+json
does not include what is required for indexes
layers
can be empty, but it's really strange to actually call this out in the spec, given that it's in the image-spec and doesn't seem to really clarify anything to the reader.The request has been fulfilled and resulted in a new resource being created. The newly created resource can be referenced by the URI(s) returned in the entity of the response, with the most specific URI for the resource given by a Location header field. The response SHOULD include an entity containing a list of resource characteristics and location(s) from which the user or user agent can choose the one most appropriate. The entity format is specified by the media type given in the Content-Type header field. The origin server MUST create the resource before returning the 201 status code.
Compare to our language:
Upon a successful upload, the registry MUST return response code
201 Created
, and MUST have the following header:Location: <location>
The<location>
is a pullable manifest URL.
It seems pretty obvious to me that this header isn't actually necessary. There is a well-known URL for fetching a manifest from the registry API. If a registry wants to returns a separate location (to, say, object storage), that seems fine to me, but is this really a MUST?
Do any registries provide this?
Do any clients look for it?
I will try to send a PR for some of these if I can find the time, but I understand that you want to cut 1.0 pretty soon, so I may move too slowly for that.
These are also just my own opinions, if other maintainers disagree, I'm happy to concede any or all of these points.
@jonjohnsonjr thanks for descriptions. PRs appreciated, but will attempt to cover all the relevant points prior to 1.0
@jonjohnsonjr Specifically, can you put together a PR for items 1 and 2 (Accept
headers and links to image spec, etc). You have a great deal of experience with this and I imagine you can put together the language in about 20 minutes, which would save a lot of time vs. me doing my best first attempt and inevitably missing something and going back and forth on it.
If you aren't able to submit one, please let us know and we'll put something together early next week. In the meantime, we're working on items 3-5. Thanks!
Can anyone else volunteer to tackle one or two of the remaining items in a PR? We're looking to have a solid candidate for v1 in early December.
@jonjohnsonjr - please see https://github.com/opencontainers/distribution-spec/pull/218/files as a simple note to address #1. Searched through the old spec and did not find much detail on the use of Accept
header. This was adapted from that
Going to pull from milestone as #218 addresses the Accept header (as a temporary solution)
Here a re a list of issues that came up in today's call (11/11/2020):
Accept
headersContent-Type: application/vnd.oci.image.manifest.v1+json
does not include what is required for indexescc @jonjohnsonjr