Essa é a versão 1 do Vagrantfile:


Vagrant::Config.run do |config|

  config.vm.box = "precise64"
  config.vm.host_name = "blog"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.share_folder("blog", "/var/www/blog", "..", :extra => 'dmode=777,fmode=777')
  config.vm.forward_port 80, 8099
  config.vm.forward_port 443, 44399

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.manifest_file = "blog.pp"
    puppet.module_path = "modules"
  end

end

E essa é a versão 2:


Vagrant.configure("2") do |config|

  config.vm.box = "precise64"
  config.vm.host_name = "blog"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.synced_folder("..", "/var/www/blog", :mount_options => ['dmode=777','fmode=777'])
  config.vm.network "forwarded_port", guest: 80, host: 8099
  config.vm.network "forwarded_port", guest: 443, host: 44399

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.manifest_file = "blog.pp"
    puppet.module_path = "modules"
  end

end

Notem que os dois arquivos são bem simples e, não a quase nenhuma customização. Mas, vamos ao que interessa: as mudanças!

As mudanças não param nesses pequenos detalhes, claro. Mas, com essas pequenas alterações é possível manter-se atualizado com as novas versões do Vagrantfile.

Eu mantenho um esqueleto do vagrant nesse repositório e uso ele em alguns projetos pra facilitar a vida.