[ About | Licence | Contacts ]
Written by Oleksandr Gavenko (AKA gavenkoa), compiled on 2018-02-10 from rev 9e6ad6607a9e.

Vagrant

Changing Vagrant home directory

Set VAGRANT_HOME env var, like:

VAGRANT_HOME=d:\srv\vagrant

Default is ~/.vagrant.d for Linux and %USERPROFILE%\.vagrant.d for Windows.

https://www.vagrantup.com/docs/other/environmental-variables.html

Running individual provisioning scripts

You may give name to provisioning script:

Vagrant.configure("2") do |config|
  config.vm.provision 'user_ssh', type: :shell, privileged: false do |s|
    ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
    s.inline = "echo #{ssh_pub_key} >> /home/$USER/.ssh/authorized_keys"
  end
  config.vm.provision 'root_ssh', type: :shell, privileged: true do |s|
    ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
    s.inline = "mkdir /root/.ssh/; echo #{ssh_pub_key} >> /root/.ssh/authorized_keys"
  end
  ...
end

and apply them individually:

vagrant provision --provision-with user_ssh
vagrant provision --provision-with root_ssh
vagrant provision --provision-with user_ssh,root_ssh