in files/gitlab-ctl-commands-ee/lib/pgbouncer.rb [41:79]
def update_databases(original = {})
rails_databases = attributes.dig('gitlab', 'gitlab_rails', 'databases')&.values
rails_databases = rails_databases ? rails_databases.uniq : [DEFAULT_RAILS_DATABASE]
updated = {}
original = rails_databases.to_h { |db| [db, {}] } if original.empty?
original.each do |db, settings|
settings.delete('password')
updated[db] = ''
settings['auth_user'] = settings.delete('user') if settings.key?('user')
is_rails_db = rails_databases.include?(db)
if db == @database || is_rails_db
settings['host'] = options['newhost'] if options['newhost']
settings['port'] = options['port'] if options['port']
settings['auth_user'] = options['user'] if options['user']
if is_rails_db
settings['dbname'] = db
elsif options['pg_database']
settings['dbname'] = options['pg_database']
end
end
settings.each do |setting, value|
updated[db] << " #{setting}=#{value}"
end
updated[db].strip!
end
updated
end