class Naginata::Runner

Public Class Methods

run() { |self, nagios_server, svcs| ... } click to toggle source
# File lib/naginata/runner.rb, line 7
def self.run(&block)
  nagios_servers = Configuration.env.filter(Configuration.env.nagios_servers)
  services = Configuration.env.filter_service(Configuration.env.services)
  user = Configuration.env.fetch(:nagios_server_options)[:run_command_as]

  run_backend(nagios_servers) do |nagios_server|
    svcs = Configuration::Filter.new(:nagios_server, nagios_server).filter_service(services)
    if user
      as(user) { yield self, nagios_server, svcs }
    else
      yield self, nagios_server, svcs
    end
  end
end
run_locally() { |nagios_server, svcs| ... } click to toggle source
# File lib/naginata/runner.rb, line 22
def self.run_locally(&block)
  nagios_servers = Configuration.env.filter(Configuration.env.nagios_servers)
  services = Configuration.env.filter_service(Configuration.env.services)
  nagios_servers.each do  |nagios_server|
    svcs = Configuration::Filter.new(:nagios_server, nagios_server).filter_service(services)
    yield nagios_server, svcs
  end
end

Private Class Methods

run_backend(nagios_servers, options = {}, &block) click to toggle source
# File lib/naginata/runner.rb, line 33
def self.run_backend(nagios_servers, options = {}, &block)
  SSHKit::Coordinator.new(nagios_servers).each(options, &block)
end