Class: Kurchatov::Application

Inherits:
Object
  • Object
show all
Includes:
Mixin::Monitor, Mixin::Ohai, Mixlib::CLI
Defined in:
lib/kurchatov/application.rb

Instance Method Summary collapse

Methods included from Mixin::Monitor

#monitor

Methods included from Mixin::Ohai

#ohai

Instance Method Details

#configure_defaultsObject



114
115
116
117
118
119
# File 'lib/kurchatov/application.rb', line 114

def configure_defaults
  if Config[:ohai_plugins_paths]
    ::Ohai::Config[:plugin_path] += Config[:ohai_plugins_paths]
  end
  Config[:host] ||= ohai[:fqdn] || ohai[:hostname]
end

#configure_loggingObject



109
110
111
112
# File 'lib/kurchatov/application.rb', line 109

def configure_logging
  Log.init(Config[:log_location])
  Log.level = Config[:log_level]
end

#configure_optsObject



103
104
105
106
107
# File 'lib/kurchatov/application.rb', line 103

def configure_opts
  @attributes = parse_options
  @attributes = nil if @attributes.empty?
  Config.merge!(config)
end

#configure_test_pluginObject



128
129
130
131
132
133
# File 'lib/kurchatov/application.rb', line 128

def configure_test_plugin
  return unless Config[:test_plugin]
  plugins = Kurchatov::Plugins::Config.load_test_plugin(Config[:test_plugin],
                                                    Config[:config_file])
  plugins.each {|p| monitor << p}
end

#load_plugins(path) ⇒ Object



121
122
123
124
125
126
# File 'lib/kurchatov/application.rb', line 121

def load_plugins(path)
  return if Config[:test_plugin]
  plugins = Kurchatov::Plugins::Config.load_plugins(path,
                                                    Config[:config_file])
  plugins.each {|p| monitor << p}
end

#runObject



135
136
137
138
139
140
141
142
143
# File 'lib/kurchatov/application.rb', line 135

def run
  configure_opts
  configure_logging
  configure_defaults
  load_plugins(File.join(File.dirname(__FILE__),'responders'))
  load_plugins(Config[:plugin_paths])
  configure_test_plugin
  monitor.start!
end