# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
#config.vm.synced_folder "~/Github/scripts", "/vagrant", type: "rsync"
#config.vm.synced_folder "data", "/vagrant", type: "nfs", mount_options: ["dmode=775,fmode=664"]
  $script = <<-SCRIPT
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    setenforce 0
    timedatectl set-timezone Asia/Taipei
    sudo yum install -y -q epel-release
    sudo yum install -y -q https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.7-1.x86_64.rpm
    sudo yum install -y -q \
      bind-utils \
      chrony \
      curl \
      deltarpm \
      git \
      httping \
      htop \
      iftop \
      iotop \
      jq \
      lsof \
      net-tools \
      nmap-ncat \
      openssl \
      psmisc \
      sysstat \
      tcping \
      telnet \
      tmux \
      vim \
      wget \
      yum-utils
    sudo yum update -y -q
    yum install -y -q https://www.sudo.ws/sudo/dist/packages/1.9.2/sudo-1.9.2-1.el7.x86_64.rpm
    curl https://github.com/linzeyan.keys >> /home/vagrant/.ssh/authorized_keys
    cp -r /home/vagrant/.ssh /root/
    reboot
  SCRIPT

  $num_instances = 2
  # curl https://discovery.etcd.io/new?size=3
  (1..$num_instances).each do |i|
    config.vm.define "node#{i}" do |node|
      node.vm.box = "centos/7"
      node.vm.box_check_update = false
      node.vm.hostname = "node#{i}"
      ip = "10.0.0.#{i+200}"
      node.vm.network "private_network", ip: ip
      node.vm.network "public_network", bridge: "Intel(R) Ethernet Controller (2) I225-V"
      node.vm.provider "virtualbox" do |vb|
        vb.memory = "1024"
        vb.cpus = 1
        vb.name = "node#{i}"
      end
      node.vm.provision "shell", inline: $script
    end
  end
end
