class Escualo::Plugin::Monit

Public Instance Methods

installed?(session, options) click to toggle source
# File lib/escualo/plugin/monit.rb, line 22
def installed?(session, options)
  session.tell!('monit --version').include? 'This is Monit version 5' rescue false
end
run(session, options) click to toggle source
# File lib/escualo/plugin/monit.rb, line 3
def run(session, options)
  raise 'missing monit password!' unless options.monit_password

  Escualo::AptGet.install session, 'monit'

  session.tell_all! 'service monit stop',
                    'cd /tmp',
                    "wget https://mmonit.com/monit/dist/binary/5.16/monit-#{options.monit_version}-linux-x64.tar.gz",
                    "tar -xzf monit-#{options.monit_version}-linux-x64.tar.gz",
                    "cp monit-#{options.monit_version}/bin/monit /usr/bin/monit",
                    'rm -rf /etc/monitrc',
                    'ln -s /etc/monit/monitrc /etc/monitrc',
                    'service monit start',
                    "echo 'set httpd port 2812 and' > /etc/monit/conf.d/web-server",
                    "echo '  allow 0.0.0.0/0.0.0.0' >> /etc/monit/conf.d/web-server",
                    "echo '  allow admin:#{options.monit_password}' >> /etc/monit/conf.d/web-server",
                    "monit reload"
end