X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7cf55dce1df774d2c3daa3e54c0d4f27c38d4b11..e39a7d5704932cbec606e85cdca50aa38a1ed053:/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 3399fd9bf5..787469cca3 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.exist?(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 + if File.exist? 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 @@ -43,4 +69,5 @@ config/application.yml: EOS end + config.secret_key_base = config.secret_token end