|
| 1 | +require "active_support/core_ext/integer/time" |
| 2 | + |
1 | 3 | Rails.application.configure do
|
2 | 4 | # Settings specified here will take precedence over those in config/application.rb.
|
3 | 5 |
|
4 | 6 | # Code is not reloaded between requests.
|
5 |
| - config.cache_classes = true |
| 7 | + config.enable_reloading = false |
6 | 8 |
|
7 |
| - # Eager load code on boot. This eager loads most of Rails and |
8 |
| - # your application in memory, allowing both threaded web servers |
9 |
| - # and those relying on copy on write to perform better. |
10 |
| - # Rake tasks automatically ignore this option for performance. |
| 9 | + # Eager load code on boot for better performance and memory savings (ignored by Rake tasks). |
11 | 10 | config.eager_load = true
|
12 | 11 |
|
13 |
| - # Full error reports are disabled and caching is turned on. |
14 |
| - config.consider_all_requests_local = false |
15 |
| - config.action_controller.perform_caching = true |
16 |
| - |
17 |
| - # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] |
18 |
| - # or in config/master.key. This key is used to decrypt credentials (and other encrypted files). |
19 |
| - # config.require_master_key = true |
20 |
| - |
21 |
| - # Disable serving static files from the `/public` folder by default since |
22 |
| - # Apache or NGINX already handles this. |
23 |
| - config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? |
| 12 | + # Full error reports are disabled. |
| 13 | + config.consider_all_requests_local = false |
24 | 14 |
|
25 |
| - # Compress CSS using a preprocessor. |
26 |
| - # config.assets.css_compressor = :sass |
| 15 | + # Turn on fragment caching in view templates. |
| 16 | + config.action_controller.perform_caching = true |
27 | 17 |
|
28 |
| - # Do not fallback to assets pipeline if a precompiled asset is missed. |
29 |
| - config.assets.compile = false |
| 18 | + # Cache assets for far-future expiry since they are all digest stamped. |
| 19 | + config.public_file_server.headers = { "cache-control" => "public, max-age=#{1.year.to_i}" } |
30 | 20 |
|
31 | 21 | # Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
32 |
| - # config.action_controller.asset_host = 'http://assets.example.com' |
33 |
| - |
34 |
| - # Specifies the header that your server uses for sending files. |
35 |
| - # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache |
36 |
| - # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX |
| 22 | + # config.asset_host = "http://assets.example.com" |
37 | 23 |
|
38 |
| - # Store uploaded files on the local file system (see config/storage.yml for options). |
39 |
| - # config.active_storage.service = :local |
40 |
| - |
41 |
| - # Mount Action Cable outside main process or domain. |
42 |
| - # config.action_cable.mount_path = nil |
43 |
| - # config.action_cable.url = 'wss://example.com/cable' |
44 |
| - # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] |
| 24 | + # Assume all access to the app is happening through a SSL-terminating reverse proxy. |
| 25 | + config.assume_ssl = true |
45 | 26 |
|
46 | 27 | # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
47 |
| - # config.force_ssl = true |
| 28 | + config.force_ssl = true |
48 | 29 |
|
49 |
| - # Use the lowest log level to ensure availability of diagnostic information |
50 |
| - # when problems arise. |
51 |
| - config.log_level = :debug |
| 30 | + # Skip http-to-https redirect for the default health check endpoint. |
| 31 | + # config.ssl_options = { redirect: { exclude: ->(request) { request.path == "/up" } } } |
52 | 32 |
|
53 |
| - # Prepend all log lines with the following tags. |
| 33 | + # Log to STDOUT with the current request id as a default log tag. |
54 | 34 | config.log_tags = [ :request_id ]
|
| 35 | + config.logger = ActiveSupport::TaggedLogging.logger(STDOUT) |
55 | 36 |
|
56 |
| - # Use a different cache store in production. |
57 |
| - # config.cache_store = :mem_cache_store |
| 37 | + # Change to "debug" to log everything (including potentially personally-identifiable information!) |
| 38 | + config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info") |
58 | 39 |
|
59 |
| - # Use a real queuing backend for Active Job (and separate queues per environment). |
60 |
| - # config.active_job.queue_adapter = :resque |
61 |
| - # config.active_job.queue_name_prefix = "dummy_production" |
| 40 | + # Prevent health checks from clogging up the logs. |
| 41 | + config.silence_healthcheck_path = "/up" |
62 | 42 |
|
63 |
| - # config.action_mailer.perform_caching = false |
| 43 | + # Don't log any deprecations. |
| 44 | + config.active_support.report_deprecations = false |
64 | 45 |
|
65 |
| - # Ignore bad email addresses and do not raise email delivery errors. |
66 |
| - # Set this to true and configure the email server for immediate delivery to raise delivery errors. |
67 |
| - # config.action_mailer.raise_delivery_errors = false |
| 46 | + # Replace the default in-process memory cache store with a durable alternative. |
| 47 | + # config.cache_store = :mem_cache_store |
68 | 48 |
|
69 | 49 | # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
70 | 50 | # the I18n.default_locale when a translation cannot be found).
|
71 | 51 | config.i18n.fallbacks = true
|
72 | 52 |
|
73 |
| - # Send deprecation notices to registered listeners. |
74 |
| - config.active_support.deprecation = :notify |
75 |
| - |
76 |
| - # Use default logging formatter so that PID and timestamp are not suppressed. |
77 |
| - config.log_formatter = ::Logger::Formatter.new |
78 |
| - |
79 |
| - # Use a different logger for distributed setups. |
80 |
| - # require 'syslog/logger' |
81 |
| - # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') |
82 |
| - |
83 |
| - if ENV["RAILS_LOG_TO_STDOUT"].present? |
84 |
| - logger = ActiveSupport::Logger.new(STDOUT) |
85 |
| - logger.formatter = config.log_formatter |
86 |
| - config.logger = ActiveSupport::TaggedLogging.new(logger) |
87 |
| - end |
88 |
| - |
89 | 53 | # Do not dump schema after migrations.
|
90 | 54 | config.active_record.dump_schema_after_migration = false
|
91 | 55 |
|
92 |
| - # Inserts middleware to perform automatic connection switching. |
93 |
| - # The `database_selector` hash is used to pass options to the DatabaseSelector |
94 |
| - # middleware. The `delay` is used to determine how long to wait after a write |
95 |
| - # to send a subsequent read to the primary. |
96 |
| - # |
97 |
| - # The `database_resolver` class is used by the middleware to determine which |
98 |
| - # database is appropriate to use based on the time delay. |
99 |
| - # |
100 |
| - # The `database_resolver_context` class is used by the middleware to set |
101 |
| - # timestamps for the last write to the primary. The resolver uses the context |
102 |
| - # class timestamps to determine how long to wait before reading from the |
103 |
| - # replica. |
| 56 | + # Only use :id for inspections in production. |
| 57 | + config.active_record.attributes_for_inspect = [ :id ] |
| 58 | + |
| 59 | + # Enable DNS rebinding protection and other `Host` header attacks. |
| 60 | + # config.hosts = [ |
| 61 | + # "example.com", # Allow requests from example.com |
| 62 | + # /.*\.example\.com/ # Allow requests from subdomains like `www.example.com` |
| 63 | + # ] |
104 | 64 | #
|
105 |
| - # By default Rails will store a last write timestamp in the session. The |
106 |
| - # DatabaseSelector middleware is designed as such you can define your own |
107 |
| - # strategy for connection switching and pass that into the middleware through |
108 |
| - # these configuration options. |
109 |
| - # config.active_record.database_selector = { delay: 2.seconds } |
110 |
| - # config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver |
111 |
| - # config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session |
| 65 | + # Skip DNS rebinding protection for the default health check endpoint. |
| 66 | + # config.host_authorization = { exclude: ->(request) { request.path == "/up" } } |
112 | 67 | end
|
0 commit comments