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 database

gitlab-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 to #606166.

Author's checklist

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 like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure 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.
  • 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.

Edited by Andrew Dunn

Merge request reports

Loading
Loading