Skip to content

Geo: Document Using the New Container Registry Metadata Database

Problem to solve

What product or feature(s) affected?

Category:Geo Replication
Category:Container Registry

What docs or doc section affected?

https://docs.gitlab.com/ee/administration/geo/replication/container_registry.html

Is there a problem with a specific document, or a feature/process that's not addressed sufficiently in docs?

The current Geo documentation for container registry does not address the new metadata database, which is currently being rolled out to self-managed: Release container registry with metadata databa... (&5521)

Further details

This documentation should address:

  • setting up a secondary site for a primary site which is already using the registry metadata database
  • migrating both sides of an existing geo site to the new registry database
  • general setup guidelines

Impact

Enable geo-distributed GitLab deployments to use the new container registry metadata database, ensuring consistent replication across sites while maintaining data integrity.

Proposal

Setting up a secondary site for a primary site which is already using the registry metadata database

All that needs to be done in this instance is for the new secondary site to come up with the database already enabled. The key here is to avoid syncing from a primary using the database to a secondary, which is not because database backed registries have more API endpoints than object storage metadata registries and therefore cannot be synced in this direction.

Migrating an Existing Geo deployment

This would require breaking replication, and migrating each site independently before reconnecting them. Migration documentation can be found for charts and omnibus

General Setup Guidelines

For the container registry database, there needs to be a 1:1 relationship between databases and backend object storage for registry blobs. If each site has its own object storage for registry, each site needs a separate database. If each site uses the same object storage for both registries, then there should be a single database for that object storage.

Who can address the issue

The expertise required for this is both Geo and container registry.

Other links/references

Edited by 🤖 GitLab Bot 🤖