Sha256: e0baed6a0c33fb519f422aa8440747448bd34f4595ebc9ca59b69a832988d549

Contents?: true

Size: 873 Bytes

Versions: 2

Compression:

Stored size: 873 Bytes

Contents

require File.dirname(__FILE__) + '/base' unless defined?(Capper)

Capper.load do
  set(:monitrc) { "#{deploy_to}/.monitrc.local" }

  namespace :monit do
    desc "Setup monit configuration files"
    task :setup do
      configs = fetch(:monit_configs, {})
      servers = find_servers

      upload_template(monitrc, :mode => "0644") do |server|
        configs.keys.select do |name|
          roles = [configs[name][:options][:roles]].flatten
          roles.select do |r|
            self.roles[r.to_sym].include?(server)
          end.any?
        end.map do |name|
          "# #{name}\n#{configs[name][:body]}"
        end.join("\n\n")
      end
    end

    desc "Reload monit configuration"
    task :reload do
      run "monit reload &>/dev/null && sleep 1"
    end
  end

  after "deploy:update_code", "monit:setup"
  before "deploy:restart", "monit:reload"
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
capper-0.7.2 lib/capper/monit.rb
capper-0.7.1 lib/capper/monit.rb