Sha256: daa7e4de4c701a6f53f8a838e85c7f1ac97a5d304d508a2488177852667d82d7

Contents?: true

Size: 1.32 KB

Versions: 3

Compression:

Stored size: 1.32 KB

Contents

require 'async-rack'
require 'sinatra/base'
require 'em-synchrony/em-http'
require 'em/syslog'
require 'thin'
require 'yaml'
require 'kwalify'

require 'sinatra/synchrony'

require 'big_brother/app'
require 'big_brother/cluster'
require 'big_brother/active_passive_cluster'
require 'big_brother/active_active_cluster'
require 'big_brother/cluster_factory'
require 'big_brother/cluster_collection'
require 'big_brother/configuration'
require 'big_brother/health_fetcher'
require 'big_brother/ipvs'
require 'big_brother/logger'
require 'big_brother/nagios'
require 'big_brother/node'
require 'big_brother/shell_executor'
require 'big_brother/status_file'
require 'big_brother/ticker'
require 'big_brother/version'

require 'thin/callbacks'
require 'thin/backends/tcp_server_with_callbacks'
require 'thin/callback_rack_handler'

module BigBrother
  class << self
    attr_accessor :ipvs, :nagios, :clusters, :config_dir, :logger
  end

  self.ipvs = IPVS.new
  self.nagios = Nagios.new
  self.clusters = BigBrother::ClusterCollection.new
  self.logger = BigBrother::Logger.new

  def self.configure(filename)
    @config_file = filename
    @clusters.config(BigBrother::Configuration.from_file(filename))
  end

  def self.start_ticker!
    Ticker.schedule!
  end

  def self.reconfigure
    Ticker.pause do
      configure(@config_file)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
big_brother-0.8.8.1 lib/big_brother.rb
big_brother-0.8.8 lib/big_brother.rb
big_brother-0.8.7 lib/big_brother.rb