diff --git a/config/environments/custom/production.rb b/config/environments/custom/production.rb index ffdddca82..e1ad2f4a8 100644 --- a/config/environments/custom/production.rb +++ b/config/environments/custom/production.rb @@ -1,4 +1,8 @@ Rails.application.configure do # Overwrite settings for the production environment or add your own - # custom settings for this environment. + # custom settings for this environment. Note these changes will + # also affect the staging and preproduction environments, so edit the + # `config/environments/custom/staging.rb` and/or + # `config/environments/custom/preproduction.rb` files if you don't + # want these changes to be applied there as well. end diff --git a/config/environments/staging.rb b/config/environments/staging.rb index 5c53afc8e..b18206e7c 100644 --- a/config/environments/staging.rb +++ b/config/environments/staging.rb @@ -1,138 +1,7 @@ -require "active_support/core_ext/integer/time" +require Rails.root.join("config", "environments", "production") Rails.application.configure do - # Settings specified here will take precedence over those in config/application.rb. - - # Code is not reloaded between requests. - config.cache_classes = true - - # Eager load code on boot. This eager loads most of Rails and - # your application in memory, allowing both threaded web servers - # and those relying on copy on write to perform better. - # Rake tasks automatically ignore this option for performance. - config.eager_load = true - - # Because autoloading is disabled in production environments with Rails 5, - # using autoload_paths will not load needed classes from specified paths. - # The solution to this, is to ask Rails to eager load classes. - config.eager_load_paths += ["#{config.root}/lib"] - - # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false - config.action_controller.perform_caching = true - - # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] - # or in config/master.key. This key is used to decrypt credentials (and other encrypted files). - # config.require_master_key = true - - # Disable serving static files from the `/public` folder by default since - # Apache or NGINX already handles this. - config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present? - - # Compress JavaScripts and CSS. - config.assets.js_compressor = Uglifier.new(harmony: true) - # config.assets.css_compressor = :sass - - # Do not fallback to assets pipeline if a precompiled asset is missed. - config.assets.compile = false - - # Enable serving of images, stylesheets, and JavaScripts from an asset server. - # config.asset_host = "http://assets.example.com" - - # Specifies the header that your server uses for sending files. - # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache - # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX - - # Mount Action Cable outside main process or domain. - # config.action_cable.mount_path = nil - # config.action_cable.url = "wss://example.com/cable" - # config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ] - - # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. - # Configure force_ssl in secrets.yml - config.force_ssl = Rails.application.secrets.force_ssl - - # Include generic and useful information about system operation, but avoid logging too much - # information to avoid inadvertent exposure of personally identifiable information (PII). config.log_level = :debug - - # Prepend all log lines with the following tags. - config.log_tags = [:request_id] - - # Use a different cache store in production. - config.cache_store = :mem_cache_store, { namespace: proc { Tenant.current_schema }} - - # Use a real queuing backend for Active Job (and separate queues per environment). - # config.active_job.queue_adapter = :resque - # config.active_job.queue_name_prefix = "consul_#{Rails.env}" - - config.action_mailer.perform_caching = false - - # Ignore bad email addresses and do not raise email delivery errors. - # Set this to true and configure the email server for immediate delivery to raise delivery errors. - config.action_mailer.raise_delivery_errors = true - config.action_mailer.default_url_options = { host: Rails.application.secrets.server_name } - - # Configure your SMTP service credentials in secrets.yml - if Rails.application.secrets.smtp_settings - config.action_mailer.delivery_method = Rails.application.secrets.mailer_delivery_method || :smtp - config.action_mailer.smtp_settings = Rails.application.secrets.smtp_settings - end - - # Disable locale fallbacks for I18n - # (prevents using fallback locales set in application.rb). - # config.i18n.fallbacks = false - - # Send deprecation notices to registered listeners. - config.active_support.deprecation = :notify - - # Log disallowed deprecations. - config.active_support.disallowed_deprecation = :log - - # Tell Active Support which deprecation messages to disallow. - config.active_support.disallowed_deprecation_warnings = [] - - # Use default logging formatter so that PID and timestamp are not suppressed. - config.log_formatter = ::Logger::Formatter.new - - # Rotate logger - logger = ActiveSupport::Logger.new(config.default_log_file, "daily") - logger.formatter = config.log_formatter - config.logger = ActiveSupport::TaggedLogging.new(logger) - - # Use a different logger for distributed setups. - # require "syslog/logger" - # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name") - - if ENV["RAILS_LOG_TO_STDOUT"].present? - logger = ActiveSupport::Logger.new(STDOUT) - logger.formatter = config.log_formatter - config.logger = ActiveSupport::TaggedLogging.new(logger) - end - - # Do not dump schema after migrations. - config.active_record.dump_schema_after_migration = false - - # Inserts middleware to perform automatic connection switching. - # The `database_selector` hash is used to pass options to the DatabaseSelector - # middleware. The `delay` is used to determine how long to wait after a write - # to send a subsequent read to the primary. - # - # The `database_resolver` class is used by the middleware to determine which - # database is appropriate to use based on the time delay. - # - # The `database_resolver_context` class is used by the middleware to set - # timestamps for the last write to the primary. The resolver uses the context - # class timestamps to determine how long to wait before reading from the - # replica. - # - # By default Rails will store a last write timestamp in the session. The - # DatabaseSelector middleware is designed as such you can define your own - # strategy for connection switching and pass that into the middleware through - # these configuration options. - # config.active_record.database_selector = { delay: 2.seconds } - # config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver - # config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session end require Rails.root.join("config", "environments", "custom", "staging")