Class: Escualo::Plugin::Rabbit

Inherits:
Object
  • Object
show all
Defined in:
lib/escualo/plugin/rabbit.rb

Instance Method Summary collapse

Instance Method Details

#check(ssh, _options) ⇒ Object



18
19
20
# File 'lib/escualo/plugin/rabbit.rb', line 18

def check(ssh, _options)
  ssh.exec!('rabbitmq-server').include? 'node with name "rabbit" already running'
end

#run(ssh, options) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/escualo/plugin/rabbit.rb', line 3

def run(ssh, options)
  raise 'missing rabbit password' unless options.rabbit_admin_password

  ssh.shell.perform! %Q{
    echo "deb http://www.rabbitmq.com/debian testing main" >> /etc/apt/sources.list && \
    wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc && \
    apt-key add rabbitmq-signing-key-public.asc && \
    apt-get update && \
    apt-get install rabbitmq-server -y --force-yes && \
    rabbitmq-plugins enable rabbitmq_management && \
    rabbitmqctl add_user admin #{options.rabbit_admin_password} && \
    rabbitmqctl set_user_tags admin administrator
  }, options
end