Container Registry Metadata Database: Knowledge Transfer Resources

Container Registry Metadata Database: Knowledge Transfer Resources

A streamlined compilation of documentation, blog posts, demos, and technical resources for understanding and implementing the Container Registry metadata database feature.


Blog Posts and Articles

Next-generation GitLab container registry goes GA

GitLab's next-generation container registry is now available

Introducing the next generation of the GitLab.com Container Registry

Announcing an exciting update to the GitLab.com Container Registry

GitLab Package roadmap for 2024


Demo Videos and Presentations

Ops Showcase: Moving to Next-Generation Container Registry with Minimal Downtime

Cloud Native Talks: Container Registries Are Not Just for Containers


Architecture and Design Documentation

Container Registry Metadata Database Architecture Blueprint

Container Registry Self-Managed Database Rollout

Database Development Guidelines

Database Migrations Guide

Push/Pull Request Flow

Authentication Flow


Administration Documentation

Container Registry Metadata Database (Omnibus)

Container Registry Metadata Database (New Install)

Container Registry Metadata Database (Helm Charts)

Container Registry Administration

Using Geo with Container Registry

Container Registry Troubleshooting (Admin)

Container Registry Troubleshooting (User)


User-Facing Documentation

Delete Container Registry Images

Protected Container Tags

Immutable Container Tags

Reduce Container Registry Storage


Technical Issues and Feedback

Feedback Issue: Next Generation Container Registry Rollout

  • URL: gitlab#423459
  • Real-world import times from various registry sizes (100 GiB to 609 TiB) with downtime windows, total import times, and storage backend comparisons. Critical data for planning migrations.

Design: In Place Migration Procedure

  • URL: #884 (closed)
  • Technical design of the 3-step import process.

Operational Readiness Review

  • URL: #1537
  • Production readiness assessment for the metadata database feature.

Post-Deployment Migrations

  • URL: #1516 (closed)
  • Database schema migration strategy separated from import process.

Migration Decoupling

  • URL: #1521 (closed)
  • Separating import from schema migrations for operational flexibility.

Include a Default Database for Container Registry

  • URL: gitlab#480742 (closed)
  • Automatic database provisioning for GitLab 17.8+ simplifying systems administration.

Backup and Restore Not Considering Metadata Database

  • URL: gitlab#532507
  • Known limitation requiring manual backup procedures until automated backup integration is complete.

Key Epics

Release Container Registry with Metadata Database and Online GC (Self-Managed)

  • URL: &5521
  • Main rollout epic tracking the entire journey from beta to required migration.

Dedicated: Container Registry Metadata Database Rollout

Geo Support for Next Generation Container Registry

  • URL: &15325
  • Tracking Geo-specific implementation and testing.

Test and Improve Container Registry Offline Migration Tool

  • URL: &8602
  • Ongoing improvements to migration tooling.

Additional Resources

Stage Direction - Package

Package: Container Registry Group Handbook

GitLab Environment Toolkit (GET) Support

GitLab.com Production Runbooks


Quick Reference: Key Requirements

  • Minimum Version: GitLab 17.5+ (18.3+ recommended)
  • Database: PostgreSQL 12+
  • Status: GA, opt-in (off by default)
  • Migration: One-step or three-step process
  • Import Speed: 2-4 TB per hour reported
  • GC Behavior: Online, unreferenced content deleted after 24 hours
  • Backup: Manual backup required (not in standard GitLab backup)
  • Geo: Requires separate database per site
  • Legacy Deprecation: Target GitLab 19.0