diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-11-28 13:14:04 +0100 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-11-28 13:14:04 +0100 |
commit | 0b8a2779e788bd05180176a11ac585fd7999b76b (patch) | |
tree | 9426c5fe4eb41513af5066889891c10187da6f9b /config | |
parent | 4c7665f2f930bba855646143684070544044de10 (diff) | |
parent | 0f800a5c0532508c84cee24bf44a4b9ce68168a2 (diff) | |
download | gitlab-ce-0b8a2779e788bd05180176a11ac585fd7999b76b.tar.gz |
Merge branch 'master' into fix/gb/encrypt-runners-tokens
* master: (243 commits)
Conflicts:
db/schema.rb
lib/gitlab/import_export/import_export.yml
Diffstat (limited to 'config')
-rw-r--r-- | config/application.rb | 9 | ||||
-rw-r--r-- | config/boot.rb | 2 | ||||
-rw-r--r-- | config/environments/production.rb | 4 | ||||
-rw-r--r-- | config/initializers/attr_encrypted_no_db_connection.rb | 24 | ||||
-rw-r--r-- | config/initializers/kubeclient.rb | 15 | ||||
-rw-r--r-- | config/initializers/sidekiq.rb | 1 | ||||
-rw-r--r-- | config/webpack.config.js | 12 |
7 files changed, 44 insertions, 23 deletions
diff --git a/config/application.rb b/config/application.rb index 921baa5d617..5804d8fd27b 100644 --- a/config/application.rb +++ b/config/application.rb @@ -26,6 +26,9 @@ module Gitlab # setting disabled require_dependency Rails.root.join('lib/mysql_zero_date') + # This can be removed when we drop support for rails 4 + require_dependency Rails.root.join('lib/rails4_migration_version') + # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers # -- all .rb files in that directory are automatically loaded. @@ -66,6 +69,12 @@ module Gitlab # config.i18n.default_locale = :de config.i18n.enforce_available_locales = false + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation can not be found). + # We have to explicitly set default locale since 1.1.0 - see: + # https://github.com/svenfuchs/i18n/pull/415 + config.i18n.fallbacks = [:en] + # Translation for AR attrs is not working well for POROs like WikiPage config.gettext_i18n_rails.use_for_active_record_attributes = false diff --git a/config/boot.rb b/config/boot.rb index 1aeacdabbad..725473ac7f6 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -12,5 +12,5 @@ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) begin require 'bootsnap/setup' rescue LoadError - # bootsnap is optional dependency, so if we don't have it it's fine + # bootsnap is an optional dependency, so if we don't have it, it's fine end diff --git a/config/environments/production.rb b/config/environments/production.rb index 71195164e7a..49a4e873093 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -65,10 +65,6 @@ Rails.application.configure do # Enable threaded mode # config.threadsafe! unless $rails_rake_task - # Enable locale fallbacks for I18n (makes lookups for any locale fall back to - # the I18n.default_locale when a translation can not be found) - config.i18n.fallbacks = true - # Send deprecation notices to registered listeners config.active_support.deprecation = :notify diff --git a/config/initializers/attr_encrypted_no_db_connection.rb b/config/initializers/attr_encrypted_no_db_connection.rb index e007666b852..7ad458929db 100644 --- a/config/initializers/attr_encrypted_no_db_connection.rb +++ b/config/initializers/attr_encrypted_no_db_connection.rb @@ -1,7 +1,18 @@ module AttrEncrypted module Adapters module ActiveRecord - module DBConnectionQuerier + module GitlabMonkeyPatches + # Prevent attr_encrypted from defining virtual accessors for encryption + # data when the code and schema are out of sync. See this issue for more + # details: https://github.com/attr-encrypted/attr_encrypted/issues/332 + def attribute_instance_methods_as_symbols_available? + false + end + + # Prevent attr_encrypted from checking out a database connection + # indefinitely. The result of this method is only used when the former + # is true, but it is called unconditionally, so there is still value to + # ensuring the connection is released def attribute_instance_methods_as_symbols # Use with_connection so the connection doesn't stay pinned to the thread. connected = ::ActiveRecord::Base.connection_pool.with_connection(&:active?) rescue false @@ -15,7 +26,16 @@ module AttrEncrypted end end end - prepend DBConnectionQuerier end end end + +# As of v3.1.0, the attr_encrypted gem defines the AttrEncrypted and +# AttrEncrypted::Adapters::ActiveRecord modules, and uses "extend" to mix them +# into the ActiveRecord::Base class. This intervention overrides utility methods +# defined by attr_encrypted to fix two bugs, as detailed above. +# +# The methods are used here: https://github.com/attr-encrypted/attr_encrypted/blob/3.1.0/lib/attr_encrypted.rb#L145-158 +ActiveSupport.on_load(:active_record) do + extend AttrEncrypted::Adapters::ActiveRecord::GitlabMonkeyPatches +end diff --git a/config/initializers/kubeclient.rb b/config/initializers/kubeclient.rb index 2d9f439fdc0..f8fe1156aaa 100644 --- a/config/initializers/kubeclient.rb +++ b/config/initializers/kubeclient.rb @@ -1,19 +1,4 @@ class Kubeclient::Client - # We need to monkey patch this method until - # https://github.com/abonas/kubeclient/pull/323 is merged - def proxy_url(kind, name, port, namespace = '') - discover unless @discovered - entity_name_plural = - if %w[services pods nodes].include?(kind.to_s) - kind.to_s - else - @entities[kind.to_s].resource_name - end - - ns_prefix = build_namespace_prefix(namespace) - rest_client["#{ns_prefix}#{entity_name_plural}/#{name}:#{port}/proxy"].url - end - # Monkey patch to set `max_redirects: 0`, so that kubeclient # does not follow redirects and expose internal services. # See https://gitlab.com/gitlab-org/gitlab-ce/issues/53158 diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 565efc858d1..4210be2c701 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -20,6 +20,7 @@ Sidekiq.configure_server do |config| chain.add Gitlab::SidekiqMiddleware::ArgumentsLogger if ENV['SIDEKIQ_LOG_ARGUMENTS'] && !enable_json_logs chain.add Gitlab::SidekiqMiddleware::Shutdown chain.add Gitlab::SidekiqMiddleware::RequestStoreMiddleware unless ENV['SIDEKIQ_REQUEST_STORE'] == '0' + chain.add Gitlab::SidekiqMiddleware::BatchLoader chain.add Gitlab::SidekiqStatus::ServerMiddleware end diff --git a/config/webpack.config.js b/config/webpack.config.js index 9ecae9790fd..b9044e13f50 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -84,7 +84,7 @@ module.exports = { }, resolve: { - extensions: ['.js'], + extensions: ['.js', '.gql', '.graphql'], alias: { '~': path.join(ROOT_PATH, 'app/assets/javascripts'), emojis: path.join(ROOT_PATH, 'fixtures/emojis'), @@ -101,6 +101,11 @@ module.exports = { strictExportPresence: true, rules: [ { + type: 'javascript/auto', + test: /\.mjs$/, + use: [], + }, + { test: /\.js$/, exclude: path => /node_modules|vendor[\\/]assets/.test(path) && !/\.vue\.js/.test(path), loader: 'babel-loader', @@ -122,6 +127,11 @@ module.exports = { }, }, { + test: /\.(graphql|gql)$/, + exclude: /node_modules/, + loader: 'graphql-tag/loader', + }, + { test: /\.svg$/, loader: 'raw-loader', }, |