opencontainers / distribution-spec

OCI Distribution Specification
https://opencontainers.org
Apache License 2.0
811 stars 202 forks source link

Critical response headers should have compliance tests #355

Open wyckster opened 1 year ago

wyckster commented 1 year ago

I was able to create a registry implementation that passes all the compliance tests, but still fails to work correctly with a docker push command on Docker for Windows. To me, this is a critical shortcoming of the compliance tests.

The missing functionality requires new unit tests to be written, to ensure a compliant implementation. The following behaviour is critical to for correct interoperation with the Docker for Windows engine.

end-2 required headers

The end-2 endpoint (GET /v2/<name>/blobs/<digest>) requires the following headers to be set in a compliant response:

end-5 required headers

The end-5 endpoint (PATCH /v2/<name>/blobs/uploads/<reference>) requires the following headers to be set in a compliant response:

end-6 required headers

The end-6 endpoint (PUT /v2/<name>/blobs/uploads/<reference>) requires the following headers to be set in a compliant response:

Implementations under compliance test that fail to provide valid response headers for these endpoints should fail a test.