Sha256: 192d70e712753fd88a23293c83c5c7e46ca4bb5b79657e6466f1c310ca2c99d0

Contents?: true

Size: 1.58 KB

Versions: 3

Compression:

Stored size: 1.58 KB

Contents

require 'pathname'
require 'net/http'
require 'net/https'
require 'uri'
require 'forwardable'

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

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

require 'facter'
require 'facts/loadaverage'

require 'litmus_paper/app'
require 'litmus_paper/configuration'
require 'litmus_paper/deferred_facter'
require 'litmus_paper/dependency/haproxy_backends'
require 'litmus_paper/dependency/http'
require 'litmus_paper/dependency/tcp'
require 'litmus_paper/health'
require 'litmus_paper/forced_health'
require 'litmus_paper/logger'
require 'litmus_paper/metric/available_memory'
require 'litmus_paper/metric/cpu_load'
require 'litmus_paper/service'
require 'litmus_paper/status_file'

module LitmusPaper
  class << self
    attr_reader :services, :config_dir
    attr_accessor :logger, :config_file
  end

  self.logger = Logger.new

  def self.configure!
    LitmusPaper.logger.setup!
    begin
      @services = LitmusPaper::Configuration.new(@config_file).evaluate
    rescue Exception => e
      logger.info("Error in configuration #{e.message}")
    end
  end

  def self.config_dir=(path)
    @config_dir = Pathname.new(path)
  end

  def self.reload
    begin
      @services = LitmusPaper::Configuration.new(@config_file).evaluate
    rescue Exception => e
      logger.info("Error in configuration #{e.message}")
    end
  end

  def self.reset
    @services = {}
  end
end

Signal.trap("HUP") { LitmusPaper.reload }

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
litmus_paper-0.2.2 lib/litmus_paper.rb
litmus_paper-0.2.1 lib/litmus_paper.rb
litmus_paper-0.2.0 lib/litmus_paper.rb