X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c64d7e1d5d1879187e1c4002445fab1d3c7951a0..505c8fa50631201e289cc55230d46fdf52fa2055:/services/api/config/application.rb diff --git a/services/api/config/application.rb b/services/api/config/application.rb index 38c5ae1071..b28ae0e071 100644 --- a/services/api/config/application.rb +++ b/services/api/config/application.rb @@ -1,6 +1,23 @@ -require File.expand_path('../boot', __FILE__) +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + +require_relative 'boot' + +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" +require "sprockets/railtie" +require "rails/test_unit/railtie" +# Skipping the following: +# * ActionCable (new in Rails 5.0) as it adds '/cable' routes that we're not using +# * ActiveStorage (new in Rails 5.1) -require 'rails/all' require 'digest' module Kernel @@ -24,8 +41,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 +77,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 +103,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