Skip to content

Latest commit

 

History

History
79 lines (49 loc) · 2.36 KB

_oci.md

File metadata and controls

79 lines (49 loc) · 2.36 KB

_oci Extension Endpoints

Summary

This base extension namespace for OCI namespaced extension endpoints.

Reference Explanation

Component: ext

This component is for endpoints relating to extensions on the registry API being queried.

Module: discover

This endpoint may be queried to discover extensions available on this registry API.

Registry-level extensions may be discovered with a standard GET as follows.

GET /v2/_oci/ext/discover

Repository-level extensions may be discovered with a standard GET as follows.

    GET /v2/{name}/_oci/ext/discover

The base extension returns an array of supported extensions with details of the endpoints as shown below.

200 OK
Content-Length: <length>
Content-Type: application/json

{
    "extensions": [
        {
            "name": "_<extension>",
            "description": "",
            "url": "..."
        }
    ]    
}

Extensions Property Descriptions

  • extensions array of extension objects, REQUIRED

    This property contains a list of supported extension endpoints.

    • name string, REQUIRED

      The name of the extension (i.e. '_oci') as it will appear in the URL path.

    • url string, REQUIRED

      URL link to the documentation defining this extension and its endpoints.

    • description string, OPTIONAL

      Human readable description of this endpoint.

    • endpoints array of strings, REQUIRED

      Enumeration of the endpoints provided on this registry (as not all "OPTIONAL" endpoints may be present in all registries)

Code representations

Golang structures for these JSON structures is available at github.com/opencontainers/distribution-spec/specs-go/v1/extensions

Error Codes

Registry implementations MAY chose to not support any extension and the base extension MAY return the following error message.

Code Message Description
UNSUPPORTED The operation is unsupported. The operation was unsupported due to a missing implementation or invalid set of parameters.