opencontainers/distribution-spec

Historical curiosity: Why did we delete half the spec, again?

jonjohnsonjr opened this issue · 5 comments

I cannot for the life of me remember why this happened: c90b0f1

There is a ton of stuff missing from distribution-spec, still.

vbatts commented

It did improve readability. The spec carried over from Docker had a lot of generated cruft.
But it was a huge endeavor. I wouldn't doubt that things were missed.
What particularly are you finding missing?

I, for one, am missing the historical context and decision making behind many of the nontrivial spec changes, such as

- Actionable failure conditions, covered in detail in their relevant sections, are reported as part of 4xx responses, in a json response body.
- One or more errors will be returned in the following format:
+ A `4XX` response code from the registry MAY return a body in any format. If the response body is in JSON format, it MUST
+ have the following format:

and how Content-Type: application/octet-stream became a required request header when PATCHing blobs. Before #178 the spec included a table of headers and parameters that SHOULD be included, which did not include the Content-Type header. The Content-Type header was only mentioned in an illustrative example.

Also:

At one point we deprecated catalog, but I can't seem to find reference to it anywhere after #178

What particularly are you finding missing?

I can't find any reference to the pagination mechanism for tag listing. I think this got dropped when catalog was [re]moved?

It makes a lot more sense to me now that folks had started inventing new pagination mechanisms for the referrers API: they didn't have the existing mechanism to copy!

We also define a chunked upload, but not the streaming upload for blobs.

vbatts commented