Provisioning within Vagrant
Vagrant relies on base boxes for the guest virtual machines; these are specifically preconfigured virtual machine images that have certain software packages preinstalled and preconfigured. Puppet and Chef are two such software packages that are preinstalled (Ansible is controlled by Vagrant itself on the host machine, so it isn't installed on the virtual machine, but requires an SSH connection to the virtual machine). Vagrant has its own interface through to these packages from the host machine. This means we can provide some configuration in our Vagrant file, and Vagrant will pass this information to the relevant provisioners on the guest VM.