Design and add recommendations for new Container Registry metadata database

A separated database for Container Registry metadata is planned to be rolled out for Self Managed customers. As such, we'll need to design out and add recommendations as part of the Reference Architectures.

With any new database the same questions and restrictions apply:

  • Do we recommend the database be colocated with others on the same server where possible?
    • Omnibus HA support for additional databases is not available at this time and they will need to be separated if HA is being used for gitlabhq_production
  • What specs will be required to handle the expected load (with headroom)?
  • Will this impact the number of open connections?
  • Does the database and their users need to be created manually? (Not strictly required but a plan to add this later would be best for customers)
  • Does the database need to be replicated in Geo setups?
  • Will database pooling (PgBouncer) be required? If so, what will be recommended for services that don't offer pooling such as Google Cloud SQL?

Customers will generally want databases to be colocated where possible to reduce maintenance and actual costs so this will be the first preference (For example a small 2 CPU AWS RDS database costs around $300 per month).

Edited by Grant Young