# File lib/foreman_maintain/config.rb, line 9 def initialize(options) @pre_setup_log_messages = [] @config_file = options.fetch(:config_file, config_file_path) @options = load_config @definitions_dirs = @options.fetch(:definitions_dirs, [File.join(source_path, 'definitions')]) load_log_configs load_backup_dir_paths @foreman_proxy_cert_path = @options.fetch(:foreman_proxy_cert_path, '/etc/foreman') end
# File lib/foreman_maintain/config.rb, line 50 def config_file_path File.exist?(CONFIG_FILE) ? CONFIG_FILE : File.join(source_path, 'config/foreman_maintain.yml') end
# File lib/foreman_maintain/config.rb, line 58 def find_dir_path(dir_path_str) dir_path = File.expand_path(dir_path_str) begin FileUtils.mkdir_p(dir_path, :mode => 0o750) unless File.exist?(dir_path) rescue StandardError => e warn "No permissions to create dir #{dir_path_str}" warn e.message.inspect end dir_path end
# File lib/foreman_maintain/config.rb, line 28 def load_backup_dir_paths @storage_file = @options.fetch(:storage_file, 'data.yml') @backup_dir = find_dir_path( @options.fetch(:backup_dir, '/var/lib/foreman-maintain') ) @db_backup_dir = find_dir_path( @options.fetch(:db_backup_dir, '/var/lib/foreman-maintain/db-backups') ) end
# File lib/foreman_maintain/config.rb, line 38 def load_config if File.exist?(config_file) YAML.load(File.open(config_file)) || {} else @pre_setup_log_messages << "Config file #{config_file} not found, using default configuration" {} end rescue StandardError => e raise "Couldn't load configuration file. Error: #{e.message}" end
# File lib/foreman_maintain/config.rb, line 22 def load_log_configs @log_level = @options.fetch(:log_level, ::Logger::DEBUG) @log_dir = find_dir_path(@options.fetch(:log_dir, 'log')) @log_file_size = @options.fetch(:log_file_size, 10_000) end
# File lib/foreman_maintain/config.rb, line 54 def source_path File.expand_path('../../..', __FILE__) end