Skip to content

Many databases for Omnibus generates invalid `config/database.yml`

Currently to enable additional CI database user needs to specify:

gitlab_rails['databases']['ci']['enable'] = true
gitlab_rails['databases']['ci']['db_database'] = 'gitlabhq_production_ci'

The problem

This results generates an invalid config/database.yml. This syntax is invalid, as GitLab Rails requires the main: to always be a first entry in a hash:

Invalid

production:
  ci:
    ...
  main:
    ...

Valid

production:
  main:
    ...
  ci:
    ...

Fix

The main: needs to always be a first entry in a hash.

Workaround

This can be workaround today with:

gitlab_rails['databases']['main']['enable'] = true
gitlab_rails['databases']['ci']['enable'] = true
gitlab_rails['databases']['ci']['db_database'] = 'gitlabhq_production_ci'