X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1586823b65c7ec7656626e491a31f3f9516a4a56..f25b37a8e72716478e7cfae11ab5bf13b7051694:/services/api/config/application.rb diff --git a/services/api/config/application.rb b/services/api/config/application.rb index 38c5ae1071..b6174a0d89 100644 --- a/services/api/config/application.rb +++ b/services/api/config/application.rb @@ -1,6 +1,22 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require File.expand_path('../boot', __FILE__) -require 'rails/all' +require "rails" +# Pick only the frameworks we need: +require "active_model/railtie" +require "active_job/railtie" +require "active_record/railtie" +require "action_controller/railtie" +require "action_mailer/railtie" +require "action_view/railtie" +# Skip ActionCable (new in Rails 5.0) as it adds '/cable' routes that we're not using +# require "action_cable/engine" +require "sprockets/railtie" +require "rails/test_unit/railtie" + require 'digest' module Kernel @@ -24,8 +40,17 @@ if defined?(Bundler) end end +if ENV["ARVADOS_RAILS_LOG_TO_STDOUT"] + Rails.logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT)) +end + module Server class Application < Rails::Application + # The following is to avoid SafeYAML's warning message + SafeYAML::OPTIONS[:default_mode] = :safe + + require_relative "arvados_config.rb" + # 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. @@ -51,12 +76,15 @@ module Server # Load entire application at startup. config.eager_load = true - config.active_record.raise_in_transactional_callbacks = true - config.active_support.test_order = :sorted config.action_dispatch.perform_deep_munge = false + # force_ssl's redirect-to-https feature doesn't work when the + # client supplies a port number, and prevents arvados-controller + # from connecting to Rails internally via plain http. + config.ssl_options = {redirect: false} + I18n.enforce_available_locales = false # Before using the filesystem backend for Rails.cache, check @@ -74,6 +102,9 @@ module Server STDERR.puts("Defaulting to memory cache, " + "because #{default_cache_path} #{why}") config.cache_store = :memory_store + else + require Rails.root.join('lib/safer_file_store') + config.cache_store = ::SaferFileStore.new(default_cache_path) end end end