X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/74aa6539fccff9b135f3edec58801976b9a51538..e302c2a74072ebe734adfb45fc6b525f299bb9fb:/services/api/config/initializers/load_config.rb diff --git a/services/api/config/initializers/load_config.rb b/services/api/config/initializers/load_config.rb index f56bb2db41..de9770d7b7 100644 --- a/services/api/config/initializers/load_config.rb +++ b/services/api/config/initializers/load_config.rb @@ -1,17 +1,44 @@ -conf = {} -%w(config.defaults config).each do |cfgfile| +begin + # If secret_token.rb exists here, we need to load it first. + require_relative 'secret_token.rb' +rescue LoadError + # Normally secret_token.rb is missing and the secret token is + # configured by application.yml (i.e., here!) instead. +end + +if (File.exists?(File.expand_path '../omniauth.rb', __FILE__) and + not defined? WARNED_OMNIAUTH_CONFIG) + Rails.logger.warn <<-EOS +DEPRECATED CONFIGURATION: + Please move your SSO provider config into config/application.yml + and delete config/initializers/omniauth.rb. +EOS + # Real values will be copied from globals by omniauth_init.rb. For + # now, assign some strings so the generic *.yml config loader + # doesn't overwrite them or complain that they're missing. + Rails.configuration.sso_app_id = 'xxx' + Rails.configuration.sso_app_secret = 'xxx' + Rails.configuration.sso_provider_url = '//xxx' + WARNED_OMNIAUTH_CONFIG = true +end + +$application_config = {} + +%w(application.default application).each do |cfgfile| path = "#{::Rails.root.to_s}/config/#{cfgfile}.yml" if File.exists? path yaml = ERB.new(IO.read path).result(binding) confs = YAML.load(yaml) - conf.merge!(confs['common'] || {}) - conf.merge!(confs[::Rails.env.to_s] || {}) + # Ignore empty YAML file: + next if confs == false + $application_config.merge!(confs['common'] || {}) + $application_config.merge!(confs[::Rails.env.to_s] || {}) end end Server::Application.configure do nils = [] - conf.each do |k, v| + $application_config.each do |k, v| # "foo.bar: baz" --> { config.foo.bar = baz } cfg = config ks = k.split '.' @@ -36,7 +63,8 @@ Server::Application.configure do raise <