X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/141df02e671d7c559f6d813bde1d792a159f1875..b5679e16dbd338731c5205bd71c0f5c4f344e6ed:/config/initializers/config.rb?ds=sidebyside diff --git a/config/initializers/config.rb b/config/initializers/config.rb index 80997e0dc..c1cc522a5 100644 --- a/config/initializers/config.rb +++ b/config/initializers/config.rb @@ -1,12 +1,31 @@ +# Guard against deployments with old-style application.yml configurations +# Otherwise, admins might not be aware that they are now silently ignored +# and major problems could occur +# rubocop:disable Rails/Output, Rails/Exit +if Rails.root.join("config/application.yml").exist? + puts "The config/application.yml file is no longer supported." + puts "" + puts "Default settings are now found in config/settings.yml and you" + puts "can override these in config/settings.local.yml." + puts "" + puts "To prevent unexpected behaviour, please copy any custom" + puts "settings to config/settings.local.yml and then remove" + puts "your config/application.yml file." + exit! +end +# rubocop:enable Rails/Output, Rails/Exit + # Allowed status values -ALLOWED_STATUS ||= [ - "online", # online and operating normally - "api_readonly", # site online but API in read-only mode - "api_offline", # site online but API offline - "database_readonly", # database and site in read-only mode - "database_offline", # database offline with site in emergency mode - "gpx_offline" # gpx storage offline -].freeze +unless Object.const_defined?(:ALLOWED_STATUS) + ALLOWED_STATUS = [ + "online", # online and operating normally + "api_readonly", # site online but API in read-only mode + "api_offline", # site online but API offline + "database_readonly", # database and site in read-only mode + "database_offline", # database offline with site in emergency mode + "gpx_offline" # gpx storage offline + ].freeze +end Config.setup do |config| # Name of the constant exposing loaded settings @@ -57,8 +76,14 @@ Config.setup do |config| required(:max_note_request_area).filled(:number?) required(:tracepoints_per_page).filled(:int?) required(:max_number_of_way_nodes).filled(:int?) + required(:max_number_of_relation_members).filled(:int?) + required(:max_issues_count).filled(:int?) required(:api_timeout).filled(:int?) required(:imagery_blacklist).maybe(:array?) required(:status).filled(:str?, :included_in? => ALLOWED_STATUS) + required(:avatar_storage).filled(:str?) + required(:trace_file_storage).filled(:str?) + required(:trace_image_storage).filled(:str?) + required(:trace_icon_storage).filled(:str?) end end