# -*- mode: ruby -*-
# vi: set ft=ruby :

$primary = <<SCRIPT
su vagrant -c 'cd /opt/rabbitmq-in-depth;git pull origin master'
SCRIPT

$secondary = <<SCRIPT
# Join it to the primary cluster node
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@primary
rabbitmqctl start_app
SCRIPT

Vagrant.configure('2') do |config|

  config.vm.define 'primary', primary: true do |primary|
    primary.vm.box = 'gmr/rmqid-primary'
    primary.vm.hostname = 'primary'
    primary.vm.network :forwarded_port, guest: 1883, host: 1883
    primary.vm.network :forwarded_port, guest: 5671, host: 5671
    primary.vm.network :forwarded_port, guest: 5672, host: 5672
    primary.vm.network :forwarded_port, guest: 8883, host: 8883
    primary.vm.network :forwarded_port, guest: 8888, host: 8888
    primary.vm.network :forwarded_port, guest: 8900, host: 8900
    primary.vm.network :forwarded_port, guest: 9001, host: 9001
    primary.vm.network :forwarded_port, guest: 15670, host: 15670
    primary.vm.network :forwarded_port, guest: 15671, host: 15671
    primary.vm.network :forwarded_port, guest: 15672, host: 15672
    primary.vm.network :forwarded_port, guest: 61613, host: 61613
    primary.vm.network :private_network, ip: '192.168.50.4'
    primary.vm.provision 'shell', inline: $primary
  end

  config.vm.define 'secondary', autostart: false do |secondary|
    secondary.vm.box = 'gmr/rmqid-secondary'
    secondary.vm.hostname = 'secondary'
    secondary.vm.network :forwarded_port, guest: 5672, host: 5673
    secondary.vm.network :private_network, ip: '192.168.50.5'
    secondary.vm.provision 'shell', inline: $secondary
  end

end
