Merge branch '12167-workbench-request-id'
[arvados.git] / apps / workbench / config / load_config.rb
index f14c3ca8456b3b252574027f3b4ba53ad501ff85..d8d4dff567a45e63e27e744ab8b0f9a0da36c82b 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 # This file must be loaded _after_ secret_token.rb if secret_token is
 # defined there instead of in config/application.yml.
 
@@ -7,7 +11,7 @@ $application_config = {}
   path = "#{::Rails.root.to_s}/config/#{cfgfile}.yml"
   if File.exists? path
     yaml = ERB.new(IO.read path).result(binding)
-    confs = YAML.load(yaml)
+    confs = YAML.load(yaml, deserialize_symbols: true)
     $application_config.merge!(confs['common'] || {})
     $application_config.merge!(confs[::Rails.env.to_s] || {})
   end
@@ -42,14 +46,26 @@ EOS
       cfg.send "#{k}=", v
     end
   end
-  if !nils.empty?
+  if !nils.empty? and not ::Rails.groups.include?('assets')
     raise <<EOS
+#{::Rails.groups.include?('assets')}
 Refusing to start in #{::Rails.env.to_s} mode with missing configuration.
 
 The following configuration settings must be specified in
 config/application.yml:
 * #{nils.join "\n* "}
 
+EOS
+  end
+  # Refuse to start if keep-web isn't configured
+  if not (config.keep_web_url or config.keep_web_download_url) and not ::Rails.groups.include?('assets')
+    raise <<EOS
+Refusing to start in #{::Rails.env.to_s} mode with missing configuration.
+
+Keep-web service must be configured in config/application.yml:
+* keep_web_url
+* keep_web_download_url
+
 EOS
   end
 end