File: check_forced_decomposition.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (22 lines) | stat: -rw-r--r-- 932 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

return if Gitlab::Utils.to_boolean(ENV.fetch('GITLAB_ALLOW_SEPARATE_CI_DATABASE', false))

# GitLab.com is already decomposed
return if Gitlab.com?

# It is relatively safe for development, and GDK defaults to decomposed already
return if Gitlab.dev_or_test_env?

ci_config = ActiveRecord::Base.configurations.configs_for(env_name: Rails.env, name: 'ci')
main_config = ActiveRecord::Base.configurations.configs_for(env_name: Rails.env, name: 'main')

return unless ci_config

# If the ci `database` is the same as main `database`, it is likely the same
return if ci_config.database == main_config.database &&
  ci_config.host == main_config.host

raise "Separate CI database is not ready for production use!\n\n" \
      "Did you mean to use `database: #{main_config.database}` for the `ci:` database connection?\n" \
      "Or, use `export GITLAB_ALLOW_SEPARATE_CI_DATABASE=1` to ignore this check."