ferranvila/dockgrant

View on GitHub
template/Vagrantfile

Summary

Maintainability
Test Coverage
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|

  config.vm.box = "<%= image %>"
  <% if(imageUrl != ''){ %>config.vm.box_url = "<%= imageUrl %>"<% } %>

  config.vm.boot_timeout = 300
  config.vm.box_check_update = false
  config.vm.post_up_message = "Hello There!"

  config.vm.provider "virtualbox" do |vb|
    vb.gui = false
    #vb.memory = 2048
    vb.cpus = 1
    vb.linked_clone = true
    mem = `sysctl -n hw.memsize`.to_i / 1024
    mem = mem / 1024 / 4
    vb.customize ["modifyvm", :id, "--memory", mem]
  end

  config.vm.network "private_network", ip: "<%= ip %>"

  if Vagrant.has_plugin?("vagrant-exec")
    config.exec.commands '*', directory: '<%= workingDir %>'
  end

  config.vm.synced_folder ".", "/vagrant", type: "nfs", nfs_udp: false

  <% for(var i=0; i<volumes.length; i++) { %>
  config.vm.synced_folder "<%= volumes[i][0] %>", "<%= volumes[i][1] %>", type: "nfs", nfs_udp: false
  <% } %>

  <% if(envVars.length > 0) { %>config.exec.commands '*', env: {
    <% for(var i=0; i<envVars.length; i++) {%>'<%= envVars[i][0] %>' => '<%= envVars[i][1] %>' <% if(i < envVars.length -1){ %>,<%}%><% } %>
  }<% } %>

  if Vagrant.has_plugin?("vagrant-vbguest")
    config.vbguest.auto_update = false
  end
end