github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/libnetwork/Vagrantfile (about)

     1  # -*- mode: ruby -*-
     2  # vi: set ft=ruby :
     3  
     4  # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
     5  VAGRANTFILE_API_VERSION = "2"
     6  
     7  $consul=<<SCRIPT
     8  apt-get update
     9  apt-get -y install wget
    10  wget -qO- https://experimental.docker.com/ | sh
    11  gpasswd -a vagrant docker
    12  service docker restart
    13  docker run -d -p 8500:8500 -p 8300-8302:8300-8302/tcp -p 8300-8302:8300-8302/udp -h consul progrium/consul -server -bootstrap
    14  SCRIPT
    15  
    16  $bootstrap=<<SCRIPT
    17  apt-get update
    18  apt-get -y install wget curl
    19  apt-get -y install bridge-utils
    20  wget -qO- https://experimental.docker.com/ | sh
    21  gpasswd -a vagrant docker
    22  echo DOCKER_OPTS=\\"--cluster-store=consul://192.168.33.10:8500 --cluster-advertise=${1}:0\\" >> /etc/default/docker
    23  cp /vagrant/docs/vagrant-systemd/docker.service /etc/systemd/system/
    24  systemctl daemon-reload
    25  systemctl restart docker.service
    26  SCRIPT
    27  
    28  Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    29    config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
    30    num_nodes = 2
    31    base_ip = "192.168.33."
    32    net_ips = num_nodes.times.collect { |n| base_ip + "#{n+11}" }
    33  
    34    config.vm.define "consul-server" do |consul|
    35      consul.vm.box = "ubuntu/trusty64"
    36      consul.vm.hostname = "consul-server"
    37      consul.vm.network :private_network, ip: "192.168.33.10"
    38      consul.vm.provider "virtualbox" do |vb|
    39       vb.customize ["modifyvm", :id, "--memory", "512"]
    40      end
    41      consul.vm.provision :shell, inline: $consul
    42    end
    43  
    44    num_nodes.times do |n|
    45      config.vm.define "net-#{n+1}" do |net|
    46        net.vm.box = "ubuntu/xenial64"
    47        net_ip = net_ips[n]
    48        net_index = n+1
    49        net.vm.hostname = "net-#{net_index}"
    50        net.vm.provider "virtualbox" do |vb|
    51          vb.customize ["modifyvm", :id, "--memory", "1024"]
    52        end
    53        net.vm.network :private_network, ip: "#{net_ip}"
    54        net.vm.provision :shell, inline: $bootstrap, :args => "#{net_ip}"
    55      end
    56    end
    57  
    58  end