-
Notifications
You must be signed in to change notification settings - Fork 214
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
Working Group Proposal for Reference Types #335
Conversation
ec033dc
to
3870c84
Compare
@opencontainers/distribution-spec-maintainers given the size of this, we are giving this 2 weeks for any objections before merging. It was presented on the OCI call today and hopefully a recording will be posted soon. After merging it still won't be a tagged release, so if there are any issues raised, we can always open another PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
partial review pls see comments
*Note: this feature was added in distibution-spec 1.1. | ||
Registries should see [Enabling the Referrers API](#enabling-the-referrers-api) before enabling this.* | ||
|
||
To fetch the list of referrers, perform a `GET` request to a path in the following format: `/v2/<name>/referrers/<reference>` <sup>[end-12a](#endpoints)</sup>. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reading through this and the examples below, I'm not actually clear on what string <reference>
actually is. Media Type? digest? arbitrary value?
Example request with filtering: | ||
|
||
``` | ||
GET /v2/<name>/referrers/<ref>?artifactType=application/vnd.example.sbom.v1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's <ref>
here, but <reference>
everywhere else
### Backwards Compatibility | ||
|
||
Client implementations MUST support registries that implement partial or older versions of the OCI Distribution Spec. | ||
This section describes client fallback procedures that MUST be implemented when a new/optional API is not available from a Registry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
right, so, if there is a backward-compat condition, then is it required that this feature bumps the version to 1.1?
This tag should return an Image Index matching the expected response of the [Referrers API](#listing-referrers). | ||
Maintaining the content of this tag is the responsibility of clients pushing and deleting Image and Artifact Manifests that contain a `refers` field. | ||
|
||
Multiple clients could attempt to update the tag simultaneously resulting in race conditions and data loss. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
**Note**
or **Warning**
?
This is a culmination of many people's work over the last few months to introduce reference types to OCI as part of the [OCI Reference Types WG](oci-ref-type-wg). This PR contains the changes from our chosen proposal, [Proposal E][proposal-e]. [oci-ref-type-wg]: https://github.com/opencontainers/tob/blob/main/proposals/wg-reference-types.md [proposal-e]: https://github.com/opencontainers/wg-reference-types/blob/main/docs/proposals/PROPOSAL_E.md Co-authored-by: Josh Dolitsky <[email protected]> Co-authored-by: Josh Dolitsky <[email protected]> Co-authored-by: Michael Brown <[email protected]> Signed-off-by: Brandon Mitchell <[email protected]>
I said this on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IANAM! But LGTM and thanks for opening the follow up issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM to move progress to subsequent PRs addressing punch list items..
This is a culmination of many people's work over the last few months to introduce reference types to OCI as part of the OCI Reference Types WG.
This PR contains the changes from our chosen proposal, Proposal E, relevant to the distribution-spec. We're looking forward to hearing feedback from distribution-spec maintainers on these changes!
We have also opened a similar PR for the
image-spec
: opencontainers/image-spec#934