Image Locations collection

Registered by Jay Pipes

Image Locations Subcollection
Each active image in an Image Registry has one or more locations attached to it that describe to an Image Streaming server how to retrieve the image file from backend storage.
Get Image Locations
In order to retrieve a list of special URIs containing information on where an image file is located (in a backend storage system), use the following call:

GET /v2/images/<IMAGE_ID>/locations

The request body is ignored.

A successful response will return a 200 OK. The response will be a JSON-encoded mapping of that lists locations for the image file associated with the image with an identifier <IMAGE_ID>, like so:

[
 <URI>, ...
]

Where <URI> is a special URI that contains information needed by the image streaming server to find the image file in the backend storage.

If an image with image ID <IMAGE_ID> does not exist, a 404 Not Found shall be returned.
Add a Location To an Image
When an image streaming server (or other restricted process) needs to notify an image registry server that an image can now be found in an alternate location, it uses the following call:

POST /v2/images/<IMAGE_ID>/locations

The request body shall be the URI of the alternate location.

A successful response will return a 201 Created.

If an image with image ID <IMAGE_ID> does not exist, a 404 Not Found shall be returned.

If the image with image ID <IMAGE_ID> exists and the image registry already has a location matching the supplied URI, a 409 Conflict is returned.
Delete a Location From an Image
To remove a location from an image, use the following call:

DELETE /v2/images/<IMAGE_ID>/locations/<URI>

The request body is ignored.

A successful response will return a 204 No Content. The location with <URI> will no longer be associated with the image with image ID <IMAGE_ID>.

If an image with image ID <IMAGE_ID> does not exist, a 404 Not Found shall be returned.

If a location with <URI> does not exist, a 404 Not Found shall be returned.

If removing this location would leave the image with no image file locations AND the image is in active status, a 400 Bad Request will be returned.

Blueprint information

Status:
Complete
Approver:
Jay Pipes
Priority:
High
Drafter:
Jay Pipes
Direction:
Approved
Assignee:
Jay Pipes
Definition:
Superseded
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
Brian Waldon

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.