You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Signed-off-by: Jeff <jscarter3@gmail.com>
Update spec language to support issue #591, pushing multiple tags at once. Also can be used when pushing tags for a non-canonical algorithm (sha-512, blake3)
Signed-off-by: Jeff Carter <jeff.carter@docker.com>
Copy file name to clipboardExpand all lines: spec.md
+35-18Lines changed: 35 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -472,6 +472,22 @@ The `<location>` is a pullable manifest URL.
472
472
The Docker-Content-Digest header returns the canonical digest of the uploaded blob, and MUST be equal to the client provided digest.
473
473
Clients MAY ignore the value but if it is used, the client SHOULD verify the value against the uploaded blob data.
474
474
475
+
When pushing a manifest by digest, the registry MAY support the pushing of tags specified by addition of `tag` query parameters.
476
+
If a registry supports this, it:
477
+
478
+
1. MUST support pushing 5 times at once, and SHOULD NOT set an upper limit
479
+
1. For each tag that was successfully pushed, include an `OCI-Tag` response header in accordance with [RFC 2616 (section 4.2)](https://datatracker.ietf.org/doc/html/rfc2616#section-4.2) semantics.
480
+
481
+
For example, if the client pushed a manifest with the following tags:
482
+
```
483
+
PUT /v2/<name>/manifests/<digest>?tag=1.2.3&tag=1.2&tag=1&tag=latest
484
+
```
485
+
486
+
The server would respond with the following header:
487
+
```
488
+
OCI-Tag: 1.2.3, 1.2, 1, latest
489
+
```
490
+
475
491
An attempt to pull a nonexistent repository MUST return response code `404 Not Found`.
476
492
477
493
A registry SHOULD enforce some limit on the maximum manifest size that it can accept.
@@ -728,24 +744,25 @@ This endpoint MAY be used for authentication/authorization purposes, but this is
728
744
729
745
#### Endpoints
730
746
731
-
| ID | Method | API Endpoint | Success | Failure |
0 commit comments