github.com/kardianos/nomad@v0.1.3-0.20151022182107-b13df73ee850/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 $script = <<SCRIPT 8 # Install Prereq Packages 9 sudo apt-get update 10 sudo apt-get install -y build-essential curl git-core libpcre3-dev \ 11 mercurial pkg-config zip default-jre qemu 12 13 # Setup go, for development of Nomad 14 SRCROOT="/opt/go" 15 SRCPATH="/opt/gopath" 16 17 # Get the ARCH 18 ARCH=`uname -m | sed 's|i686|386|' | sed 's|x86_64|amd64|'` 19 20 # Install Go 21 cd /tmp 22 wget -q https://storage.googleapis.com/golang/go1.5.1.linux-${ARCH}.tar.gz 23 tar -xf go1.5.1.linux-${ARCH}.tar.gz 24 sudo mv go $SRCROOT 25 sudo chmod 775 $SRCROOT 26 sudo chown vagrant:vagrant $SRCROOT 27 28 # Setup the GOPATH; even though the shared folder spec gives the working 29 # directory the right user/group, we need to set it properly on the 30 # parent path to allow subsequent "go get" commands to work. 31 sudo mkdir -p $SRCPATH 32 sudo chown -R vagrant:vagrant $SRCPATH 2>/dev/null || true 33 # ^^ silencing errors here because we expect this to fail for the shared folder 34 35 cat <<EOF >/tmp/gopath.sh 36 export GOPATH="$SRCPATH" 37 export GOROOT="$SRCROOT" 38 export PATH="$SRCROOT/bin:$SRCPATH/bin:\$PATH" 39 EOF 40 sudo mv /tmp/gopath.sh /etc/profile.d/gopath.sh 41 sudo chmod 0755 /etc/profile.d/gopath.sh 42 source /etc/profile.d/gopath.sh 43 44 # Install Docker 45 sudo curl -sSL https://get.docker.com/ | sh 46 47 # Setup Nomad for development 48 #TODO: cd to synced Nomad path once go-memdb is public, and do `make updatedeps` 49 SCRIPT 50 51 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 52 config.vm.box = "cbednarski/ubuntu-1404" 53 config.vm.hostname = "nomad" 54 55 config.vm.provision "shell", inline: $script, privileged: false 56 config.vm.synced_folder '.', '/opt/gopath/src/github.com/hashicorp/nomad' 57 58 config.vm.provider "parallels" do |p, o| 59 o.vm.box = "parallels/ubuntu-14.04" 60 p.memory = 2048 61 end 62 63 config.vm.provider "virtualbox" do |v| 64 v.memory = 1024 65 v.cpus = 1 66 end 67 68 ["vmware_fusion", "vmware_workstation"].each do |p| 69 config.vm.provider p do |v| 70 v.vmx["memsize"] = "2048" 71 v.gui = true 72 end 73 end 74 end