containers / image

Work with containers' images
Apache License 2.0
866 stars 379 forks source link

Request for Feedback: OCI image-spec 1.1.0 #2030

Open sudo-bmitch opened 1 year ago

sudo-bmitch commented 1 year ago

OCI is approaching a 1.1.0 release on the image-spec and distribution-spec, so we are reaching out to implementations to see if you have any concerns implementing support for those changes that we should address before a GA release.

A full diff of the changes can be viewed at:

I'm happy to take feedback here, you can raise an issue in OCI, or respond in our tracking issue at https://github.com/opencontainers/image-spec/issues/1093.

mtrmac commented 1 year ago

@sudo-bmitch Looking at the distribution spec so far, I have filed https://github.com/opencontainers/distribution-spec/issues/454 . I don’t think that’s blocking the spec release at all.


Note to self - distribution spec changes:

Other spec points of note:

mtrmac commented 1 year ago

Note to self — image spec changes:

Other spec points of note:

mtrmac commented 1 year ago

@sudo-bmitch Looking at containers/image, I think the changes are very useful and I have no concerns with the spec.

It will take some time for the “MUST” compatibility mechanisms on manifest upload / deletion to be implemented, though — both to just implement them (they don’t exist right now in c/image), for the implementations to propagate to supported products, and ultimately for users to upgrade their stable systems which can already upload OCI manifests. So I’m not sure that the “MUST” requirements, in practice, provide a guarantee any other part of the ecosystem can rely on, outside of repos with strictly controlled writers (which don’t really EDIT need this world-wide spec guarantee to impose that strict control).

cgwalters commented 1 year ago

I think the idea is it's basically "MUST" if one claims/advertises 1.1 support/compliance.

sudo-bmitch commented 1 year ago

I think the idea is it's basically "MUST" if one claims/advertises 1.1 support/compliance.

That's exactly it. The "MUST" sections turn into a conformance test for registries to advertise support for 1.1 conformance. For clients, it's good to ensure you have support for older and non-conformant registries.

mtrmac commented 1 year ago

2062 fixes the low-hanging fruit.

More is tracked by RH as https://issues.redhat.com/browse/RUN-1880 .

davidspek commented 1 year ago

distribution/distribution is waiting for the release to be cut before implementing the changes (see https://github.com/distribution/distribution/pull/3834#issuecomment-1678919086).