module Blue::Monit
Constants
- VERSION
Public Class Methods
configure()
click to toggle source
# File lib/blue/monit.rb, line 8 def self.configure Blue.configure({ :monit => {} }) end
included(klass)
click to toggle source
# File lib/blue/monit.rb, line 53 def self.included(klass) klass.add_role(:monit) klass.class_eval do recipe :monit end end
Public Instance Methods
monit(options = {})
click to toggle source
# File lib/blue/monit.rb, line 14 def monit(options = {}) package 'monit', :ensure => :installed service 'monit', :ensure => :running, :require => package('monit') file "/etc/monit/monitrc", :ensure => :present, :owner => 'root', :group => 'root', :mode => '600', :backup => false, :content => template(File.join(File.dirname(__FILE__), '..', '..', 'templates', 'monitrc.erb'), binding), :notify => service('monit') # get all files in config/monit that match the current host name # drop them in /etc/monit/conf.d/ which is included by /etc/monit/monitrc Dir.glob(File.join(Blue.rails_root, "config/monit/*")). map{|filename| Pathname.new(filename)}. select{|pathname| roles.any?{|r| pathname.basename.to_s.match(r.to_s)}}. each do |pathname| file "/etc/monit/conf.d/#{pathname.basename.to_s.gsub(".erb","")}", :ensure => :present, :mode => '700', :backup => false, :content => template(File.join(Blue.rails_root, 'config', 'monit', pathname.basename), binding), :notify => service('monit') end file "/etc/monit/conf.d/default.conf", :ensure => :present, :mode => '700', :backup => false, :content => template(File.join(File.dirname(__FILE__), '..', '..', 'templates', 'default.conf.erb'), binding), :notify => service('monit') end