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
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)
Co-authored-by: Brandon Mitchell <git@bmitch.net>
Signed-off-by: Jeff Carter <jeff.carter@docker.com>
Copy file name to clipboardExpand all lines: spec.md
+23-2Lines changed: 23 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -511,6 +511,26 @@ The `<location>` is a pullable manifest URL.
511
511
The Docker-Content-Digest header returns the digest of the uploaded blob, and MUST be equal to the client provided digest.
512
512
Clients MAY ignore the value but if it is used, the client SHOULD verify the value against the uploaded blob data.
513
513
514
+
When pushing a manifest by digest, the registry MAY support the pushing of tags specified by addition of `tag` query parameters.
515
+
If a registry supports this, it:
516
+
517
+
1. SHOULD support pushing at least 10 tags per request.
518
+
1. MAY return a `414 Request-URI Too Long` status if too many tags are included in the request.
519
+
1. MUST include an `OCI-Tag` response header, in accordance with [RFC 9110 (section 5)](https://www.rfc-editor.org/rfc/rfc9110#name-fields) semantics, for each accepted tag.
520
+
521
+
Clients MAY see other status codes (`431 Request Header Fields Too Large`) depending on the registry implementation.
522
+
523
+
For example, if the client pushed a manifest with the following tags:
524
+
```
525
+
PUT /v2/<name>/manifests/<digest>?tag=1.2.3&tag=1.2&tag=1&tag=latest
526
+
```
527
+
528
+
The server could respond with the following headers:
529
+
```
530
+
OCI-Tag: 1.2.3, 1.2, 1
531
+
OCI-Tag: latest
532
+
```
533
+
514
534
An attempt to pull a nonexistent repository MUST return response code `404 Not Found`.
515
535
516
536
A registry SHOULD enforce some limit on the maximum manifest size that it can accept.
@@ -811,15 +831,16 @@ This endpoint MAY be used for authentication/authorization purposes, but this is
811
831
#### Endpoints
812
832
813
833
| ID | Method | API Endpoint | Success | Failure |
0 commit comments