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

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "ubuntu/trusty64"
  config.vm.synced_folder "..", "/home/vagrant/go/src/github.com/influxdb/telegraf",
    type: "rsync",
    rsync__args: ["--verbose", "--archive", "--delete", "-z", "--safe-links"],
    rsync__exclude: ["./telegraf", ".vagrant/"]

  config.vm.provision "shell", name: "sudo", inline: <<-SHELL
    chown -R vagrant:vagrant /home/vagrant/go
    apt-get install bison git tig --yes
    echo -n                                >  /etc/profile.d/gopath.sh
    echo 'export GOPATH=/home/vagrant/go'  >> /etc/profile.d/gopath.sh
  SHELL

  config.vm.provision "shell", privileged: false, name: "user", inline: <<-SHELL
    bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
    source "$HOME/.gvm/scripts/gvm"
    gvm install go1.4.2 --prefer-binary
    gvm use go1.4.2 --default
    echo "export PATH=$PATH:$GOPATH/bin"   >> "$HOME/.bashrc"
    echo 'export GOPATH=/home/vagrant/go'  >> "$HOME/.bashrc"
    cd "$HOME/go/src/github.com/influxdb/telegraf" &&\
      rm -rf Godeps/_workspace/pkg &&\
      GOPATH="$HOME/go" make
  SHELL

  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--memory", "1024"]
  end
end