From ea280c5ea3cf1e2978063f222ca3cad127b0142d Mon Sep 17 00:00:00 2001 From: Brandon Mitchell Date: Thu, 25 Jan 2024 14:34:37 -0500 Subject: [PATCH] Clarify the registry must accept a missing subject phrasing Signed-off-by: Brandon Mitchell --- spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec.md b/spec.md index a286e221..955076e7 100644 --- a/spec.md +++ b/spec.md @@ -209,7 +209,7 @@ If the blob or manifest is not found in the registry, the response code MUST be Pushing an object typically works in the opposite order as a pull: the blobs making up the object are uploaded first, and the manifest last. A useful diagram is provided [here](https://github.com/google/go-containerregistry/tree/d7f8d06c87ed209507dd5f2d723267fe35b38a9f/pkg/v1/remote#anatomy-of-an-image-upload). -A registry MUST accept an otherwise valid manifest with a `subject` field that references a manifest that does not exist, allowing clients to push a manifest and referrers to that manifest in either order. +A registry MUST initially accept an otherwise valid manifest with a `subject` field that references a manifest that does not exist in the repository, allowing clients to push a manifest and referrers to that manifest in either order. A registry MAY reject a manifest uploaded to the manifest endpoint with descriptors in other fields that reference a manifest or blob that does not exist in the registry. When a manifest is rejected for this reason, it MUST result in one or more `MANIFEST_BLOB_UNKNOWN` errors [code-1](#error-codes).