docs/user/repositories/_index.md:36 tells users they cannot create a virtual repository, and npm, Docker, and OCI creates answer 201
Why
https://docs.gitlab.com/artifact-registry/repositories/ is live, and its virtual repositories note states a constraint that is no longer true. POST /api/v1/:slug/repositories with kind=virtual answers 201 Created for npm since feat(managementapi): serve npm's virtual kind (... (!2665 - merged) • Hayley Swimelar • 19.5. Docker and OCI answer the same since feat(managementapi): serve the container virtua... (!2666 - merged) • Hayley Swimelar • 19.5. Only Maven is still refused, so the page tells a user that a call which works is unavailable. The same line also carries a stray > that reaches the published page as visible text.
The line
docs/user/repositories/_index.md:36 on main:
> Virtual repositories are in development. During beta, you cannot create or publish a > virtual repository.What the API answers today
validateCreateKind in internal/managementapi/create.go reads datastore.VirtualRepositoryCreateSupported, which reports whether virtualChildDispatch in internal/datastore/repositories.go holds an arm for the format.
| Format | POST with kind=virtual |
|---|---|
| npm | 201 Created |
| Docker | 201 Created |
| OCI | 201 Created |
| Maven | 422 Unprocessable Content, kind must be hosted or remote; virtual repositories are not yet supported for this format |
Maven's arm is Step 36 of the S17 Phase 6 plan, and it has no MR yet. Publishing to a virtual repository is still refused for every format, so that half of the sentence holds.
Proposed replacement
> [!note]
> Virtual repositories are in development. During beta, you can create an npm, Docker, or OCI
> virtual repository through the API. Maven virtual repositories are not available yet.
> You cannot publish to a virtual repository of any format.Drop the Maven sentence when Step 36 lands.
The stray character
A literal > sits between a and virtual. It does not break the note. Block quote markers count only at the start of a line, so the alert renders correctly and the character shows up inside it as text. From the live page:
<div class="alert alert-type-note gl-rounded-lg"><div class=alert-icon></div><div class=gl-min-w-0><p>Virtual repositories are in development. During beta, you cannot create or publish a > virtual repository.</p></div></div>Delete the > and the space after it.
Three more lines the same landing invalidated
docs/user/formats/_index.md:50says a virtual create fails with422for every format. That is true for Maven only.docs/user/formats/oci.md:130says virtual repositories are not available for any format in beta. OCI is one of the formats that now works.docs/user/troubleshooting.md:102says deleting a virtual repository answers500.Deletenow routes the virtual kind todeleteVirtualRepository, which serves npm, Docker, and OCI, so the500is Maven's. That entry's tracking issue is still open, so confirm the state before rewriting it: Repository DELETE answers 500 for the virtual k... (#819 - closed) • Unassigned.
Out of scope
The create procedure at lines 114 to 123 lists only Hosted repository and Remote repository. Whether the UI offers a virtual option was not checked here, so confirm the monolith state before widening that procedure.
Related to #314 (closed)