clarify push manifest spec#333
Merged
jdolitsky merged 1 commit intoopencontainers:mainfrom Aug 9, 2022
Merged
Conversation
jdolitsky
previously approved these changes
Jul 15, 2022
Contributor
jdolitsky
left a comment
There was a problem hiding this comment.
@laflechejonathan - could you please fix the DCO issue?
Signed-off-by: jlafleche <jlafleche@palantir.com>
1af3b30 to
204d4b4
Compare
sudo-bmitch
approved these changes
Jul 15, 2022
jdolitsky
approved these changes
Jul 15, 2022
Author
|
@jdolitsky are we good to merge this? |
mikebrow
reviewed
Aug 9, 2022
| The uploaded manifest MUST reference any blobs that make up the artifact. | ||
| However, the list of blobs MAY be empty. | ||
|
|
||
| The registry MUST store the manifest in the exact byte representation provided by the client. |
Member
There was a problem hiding this comment.
I might've worded "in the exact byte representation" more like "byte for byte exactly as"
Contributor
There was a problem hiding this comment.
Since this one is merged, any wording changes now should be pushed as a new PR.
mikebrow
reviewed
Aug 9, 2022
| ``` | ||
|
|
||
| The `<location>` is a pullable manifest URL. | ||
| The Docker-Content-Digest header returns the canonical digest of the uploaded blob, and MUST be equal to the client provided digest. |
Member
There was a problem hiding this comment.
suggest rewording this to fit the paragraph..
what if the digest differ? What if the client did not provide one..
mikebrow
reviewed
Aug 9, 2022
|
|
||
| The `<location>` is a pullable manifest URL. | ||
| The Docker-Content-Digest header returns the canonical digest of the uploaded blob, and MUST be equal to the client provided digest. | ||
| Clients MAY ignore the value but if it is used, the client SHOULD verify the value against the uploaded blob data. |
Member
There was a problem hiding this comment.
manifest? what value? probably needs to be reworded?
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See discussion at: moby/buildkit#2963
It's not currently obvious from reading the spec that manifests should be persisted in the exact wire format provided by the client, leading to errors if a registry re-formats the manifest.
This code in containerd validates the
Docker-Content-Digestheader after a manifest push, and will throw if they don't match:https://github.com/moby/buildkit/blob/874eef9b70dbaf4f074d2bc8f4dc64237f8e83a0/vendor/github.com/containerd/containerd/remotes/docker/pusher.go#L418-L425