Project

General

Profile

Download (1.46 KB) Statistics
| Branch: | Tag: | Revision:
require_relative '../app/services/foreman/version'
require_relative '../app/services/foreman/env_settings_loader'

settings_file = File.join(__dir__, Rails.env.test? ? 'settings.yaml.test' : 'settings.yaml')

SETTINGS = {}
SETTINGS.merge! YAML.load(ERB.new(File.read(settings_file)).result) if File.exist?(settings_file)
SETTINGS[:version] = Foreman::Version.new

# Load settings from env variables
SETTINGS.deep_merge!(Foreman::EnvSettingsLoader.new.to_h)

# foreman-documentation builds different flavors for Debian and Enterprise
# Linux. It also builds for Katello, but we can't detect that here so the key
# is docs_os_flavor instead of docs_flavor.
SETTINGS[:docs_os_flavor] ||= File.exist?('/etc/debian_version') ? 'foreman-deb' : 'foreman-el'

# Force setting to true until all code using it is removed
[:locations_enabled, :organizations_enabled, :unattended].each do |setting|
SETTINGS[setting] = true
end

# default to true if missing
[:hsts_enabled].each do |setting|
SETTINGS[setting] = SETTINGS.fetch(setting, true)
end

unless SETTINGS[:domain] && SETTINGS[:fqdn]
require 'facter'
SETTINGS[:domain] ||= Facter.value(:domain) || Facter.value(:hostname)
SETTINGS[:fqdn] ||= Facter.value(:fqdn)
end

SETTINGS[:hosts] ||= []

SETTINGS[:trusted_redirect_domains] ||= ['theforeman.org', 'redhat.com', 'orcharhino.com'].freeze

# Load plugin config, if any
Dir["#{__dir__}/settings.plugins.d/*.yaml"].each do |f|
SETTINGS.merge! YAML.load(ERB.new(File.read(f)).result)
end
(11-11/16)