Files
mozo-backend/config/recipes/monit.rb
T
2013-04-17 16:25:38 +02:00

40 lines
1.0 KiB
Ruby

namespace :monit do
desc "Install Monit"
task :install do
run "#{sudo} apt-get -y install monit"
end
after "deploy:install", "monit:install"
desc "Setup all Monit configuration"
task :setup do
monit_config "monitrc", "/etc/monit/monitrc"
#nginx
#postgresql
#unicorn
faye
syntax
reload
end
after "deploy:setup", "monit:setup"
task(:nginx, roles: :web) { monit_config "nginx" }
task(:postgresql, roles: :db) { monit_config "postgresql" }
task(:unicorn, roles: :app) { monit_config "unicorn" }
task(:faye, roles: :app) { monit_config "faye" }
%w[start stop restart syntax reload].each do |command|
desc "Run Monit #{command} script"
task command do
run "#{sudo} service monit #{command}"
end
end
end
def monit_config(name, destination = nil)
destination ||= "/etc/monit/conf.d/#{name}.conf"
template "monit/#{name}.erb", "/tmp/monit_#{name}"
run "#{sudo} mv /tmp/monit_#{name} #{destination}"
run "#{sudo} chown root #{destination}"
run "#{sudo} chmod 600 #{destination}"
end