docs: add initial spec for new HTTP API
Context
We are now rolling out a new version of the Container Registry, which includes a metadata database, starting with GitLab.com (&5523 (closed)). Among others, the metadata database will allow us to perform API operations that we couldn't do due to technical constraints related to the storage backend and how the metadata was saved there.
Proposal
This MR proposes the creation of a new HTTP API on the Container Registry, which would live alongside the existing /v2/ that is reserved for the implementation of the OCI Distribution Spec (former Docker Registry HTTP API V2).
This new API will interact exclusively with the metadata database and use the /api/v1 prefix. Interactions with the storage backend are restricted to the /v2/ API.
Besides isolation and versioning, using an independent API prefix also allows us to use a new independent router within the application, stripped from the old storage backend logic and implemented from the ground up with the current best practices and performance in mind.
This proposal only specifies the base requirements to allow querying the deduplicated size of container repositories. Other functionalities are expected to follow in the short/mid-term.
We should create an OpenAPI definition for the spec once approved.
Related to #516 (closed).