Sha256: 70349be555331043aa8eebca585f21d3471735950411c620f084b591b1a18a71

Contents?: true

Size: 1.66 KB

Versions: 25

Compression:

Stored size: 1.66 KB

Contents

#!/usr/bin/env ruby
#encoding: utf-8

require 'trollop'
require 'yaml'
require 'configatron'
require 'parallel'
require 'logger'

require File.expand_path('../../lib/riemann/version', __FILE__)
require File.expand_path('../../lib/deep_merge', __FILE__)
require File.expand_path('../../lib/riemann/babbler/plugin', __FILE__)

opts = Trollop::options do
  version "Riemann babbler #{Riemann::Babbler::VERSION}"
  banner <<-EOS
Riemann-babbler is plugin manager for riemann-tools.

Usage:
       riemann-babbler [options] 
where [options] are:
EOS

  opt :config, "Config file", :default => "/etc/riemann-babbler/config.yml"
end

# logger
log = Logger.new(STDOUT)

# merge configs
config_file =  if File.exist?( opts[:config] )
  YAML.load_file( opts[:config] ).to_hash
else
  log.error "Can't load config file #{opts[:config]}"
  Hash.new
end

config_default = YAML.load_file( File.expand_path('../../config.yml', __FILE__) )

config = config_default.deep_merge( config_file )
configatron.configure_from_hash config

# отправляем к плагинам
$configatron = configatron
$logger = log

# get plugins
plugins = []
default_plugins_dir = File.expand_path('../../lib/riemann/babbler/plugins/', __FILE__)
Dir.glob( default_plugins_dir + "/*.rb" ) do |file|
  plugins <<  file
end

unless configatron.plugins.dirs.nil?
  configatron.plugins.dirs.each do |dir|
    next unless Dir.exist? dir
    Dir.glob( dir + "/*.rb" ) do |file|
      plugins << file
    end
  end
end

unless configatron.plugins.files.nil?
  configatron.plugins.files.each do |file|
    plugins << file
  end
end

# start plugins
Parallel.each( plugins, :in_threads => plugins.count ) do |plugin|
  require plugin
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
riemann-babbler-0.3.1 bin/riemann-babbler
riemann-babbler-0.3.0 bin/riemann-babbler
riemann-babbler-0.2.8 bin/riemann-babbler
riemann-babbler-0.2.7 bin/riemann-babbler
riemann-babbler-0.2.6 bin/riemann-babbler
riemann-babbler-0.2.5 bin/riemann-babbler
riemann-babbler-0.2.4 bin/riemann-babbler
riemann-babbler-0.2.3 bin/riemann-babbler
riemann-babbler-0.2.2 bin/riemann-babbler
riemann-babbler-0.2.1 bin/riemann-babbler
riemann-babbler-0.2.0 bin/riemann-babbler
riemann-babbler-0.1.9 bin/riemann-babbler
riemann-babbler-0.1.8 bin/riemann-babbler
riemann-babbler-0.1.7 bin/riemann-babbler
riemann-babbler-0.1.6 bin/riemann-babbler
riemann-babbler-0.1.5 bin/riemann-babbler
riemann-babbler-0.1.4 bin/riemann-babbler
riemann-babbler-0.1.3 bin/riemann-babbler
riemann-babbler-0.1.2 bin/riemann-babbler
riemann-babbler-0.1.1 bin/riemann-babbler