14812: Delete legacy load_config.rb
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Mon, 8 Jul 2019 17:34:39 +0000 (13:34 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Mon, 8 Jul 2019 17:34:39 +0000 (13:34 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

apps/workbench/config/application.rb
apps/workbench/config/arvados_config.rb
apps/workbench/config/load_config.rb [deleted file]
apps/workbench/lib/config_validators.rb

index da33c2f97b3f815bdf6dc484a658325d5d0adadf..514d57196d3fcc802dbc83a640907bbf166ceb76 100644 (file)
@@ -74,5 +74,3 @@ module ArvadosWorkbench
     config.assets.paths << Rails.root.join('node_modules')
   end
 end
-
-require File.expand_path('../load_config', __FILE__)
index 5a6cdfffa96ecf981d01dad0da1718d2e3ad61ab..c0ecfde25f55de68491c29745240d1581dd94e59 100644 (file)
@@ -189,4 +189,6 @@ ArvadosWorkbench::Application.configure do
   ConfigLoader.copy_into_config $remaining_config, config
   secrets.secret_key_base = $arvados_config["Workbench"]["SecretKeyBase"]
   ConfigValidators.validate_wb2_url_config()
+  ConfigValidators.validate_download_config()
+
 end
diff --git a/apps/workbench/config/load_config.rb b/apps/workbench/config/load_config.rb
deleted file mode 100644 (file)
index 5f0d9ca..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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.
-
-$application_config = {}
-
-%w(application.default application).each do |cfgfile|
-  path = "#{::Rails.root.to_s}/config/#{cfgfile}.yml"
-  if File.exist? path
-    yaml = ERB.new(IO.read path).result(binding)
-    confs = YAML.load(yaml, deserialize_symbols: true)
-    $application_config.merge!(confs['common'] || {})
-    $application_config.merge!(confs[::Rails.env.to_s] || {})
-  end
-end
-
-ArvadosWorkbench::Application.configure do
-  nils = []
-  $application_config.each do |k, v|
-    # "foo.bar: baz" --> { config.foo.bar = baz }
-    cfg = config
-    ks = k.split '.'
-    k = ks.pop
-    ks.each do |kk|
-      cfg = cfg.send(kk)
-    end
-    if v.nil? and cfg.respond_to?(k) and !cfg.send(k).nil?
-      # Config is nil in *.yml, but has been set already in
-      # environments/*.rb (or has a Rails default). Don't overwrite
-      # the default/upstream config with nil.
-      #
-      # After config files have been migrated, this mechanism should
-      # be removed.
-      Rails.logger.warn <<EOS
-DEPRECATED: Inheriting config.#{ks.join '.'} from Rails config.
-            Please move this config into config/application.yml.
-EOS
-    elsif v.nil?
-      # Config variables are not allowed to be nil. Make a "naughty"
-      # list, and present it below.
-      nils << k
-    else
-      cfg.send "#{k}=", v
-    end
-  end
-  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
index 953b392e37a57f0c2da774bd99e02b417eda1e1c..804e3e397015bd9706d978c3067f805645a88aeb 100644 (file)
@@ -17,4 +17,10 @@ module ConfigValidators
     end
     return false
   end
+
+  def self.validate_download_config
+    if Rails.configuration.Services.WebDAV.ExternalURL == URI("") and Rails.configuration.Services.WebDAVDownload.ExternalURL == URI("")
+      raise "Keep-web service must be configured in Services.WebDAV and/or Services.WebDAVDownload"
+    end
+  end
 end