docs: Require read-only mode for the registry metadata imports
What does this MR do?
The one-step import warning and step two of the three-step import now require read-only mode, which every tab already sets, and no longer offer shutting down the registry.
On a GitLab 19.4.1 instance, after gitlab-ctl stop registry, every push made during the import was accepted, and 15 of the pushed tags were missing from the database afterwards while still in storage. With read-only mode, the registry refused every push and the database matched storage.
One-step import with the registry stopped
sequenceDiagram
actor Admin
participant ctl as gitlab-ctl registry-database
participant reg as registry service
actor Client as registry client
Admin->>reg: gitlab-ctl stop registry, then reconfigure
Admin->>ctl: migrate up
ctl->>reg: start! unless running?
Admin->>ctl: import --log-to-stdout
Client->>reg: push during the import
reg-->>Client: accepted on legacy metadata
Note over ctl,reg: Some pushed images stay in storage<br/>but are missing from the databasegitlab-ctl runs start! unless running? after every registry-database command that succeeds, in its source from 17.5.0 to 19.4.1.
Step two of the three-step import gets the same change, because gitlab-ctl also starts a stopped registry after step two, and the registry in GitLab 18.7.0 does not refuse that start by default.
Related issues
Related to #606166.
Author's checklist
- Optional. Consider taking the GitLab Technical Writing Fundamentals course.
- Follow the:
- If you're adding a new page, add the product availability details under the H1 topic title.
- If you are a GitLab team member, request a review based on:
- The documentation page's metadata.
- The associated Technical Writer.
If you are a GitLab team member and only adding documentation, do not add any of the following labels:
~"frontend"~"backend"~"type::bug"~"database"
These labels cause the MR to be added to code verification QA issues.
Reviewer's checklist
Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.
If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.
- If the content requires it, ensure the information is reviewed by a subject matter expert.
- Technical writer review items:
- Ensure docs metadata is present and up-to-date.
- Ensure the appropriate labels are added to this MR.
- Ensure a release milestone is set.
- If relevant to this MR, ensure content topic type principles are in use, including:
- The headings should be something you'd do a Google search for. Instead of
Default behavior, say something likeDefault behavior when you close an issue. - The headings (other than the page title) should be active. Instead of
Configuring GDK, say something likeConfigure GDK. - Any task steps should be written as a numbered list.
- If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
- The headings should be something you'd do a Google search for. Instead of
- Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
This MR was prepared with assistance from Claude Code. The import behavior was observed on a GitLab 19.4.1 instance, the restart and the 18.7.0 default were read from the linked source, and both pages pass Vale and markdownlint at the CI versions.