X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0b9dce85589ac5f259c8bf6cc30b23d5f99e2b97..b73985d8a0c9173aec57f6a81fe540b2813a5bff:/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 954ab48dbc..76234d3e4b 100644 --- a/services/api/config/initializers/load_config.rb +++ b/services/api/config/initializers/load_config.rb @@ -1,10 +1,36 @@ +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(config.defaults config).each do |cfgfile| +%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) + confs = YAML.load(yaml, deserialize_symbols: true) + # Ignore empty YAML file: + next if confs == false $application_config.merge!(confs['common'] || {}) $application_config.merge!(confs[::Rails.env.to_s] || {}) end @@ -37,7 +63,8 @@ Server::Application.configure do raise <