Vagrant Shell provisioner
We've seen how to use a basic shell provisioner, but depending on your setup and required environment, you may have quite a large, complex provisioner script. This script may require arguments or environment variables, or may be linked to an external resource hosted elsewhere.
In this section, we will look at the many options available when using shell as a Vagrant provisioner. This is often used by beginners but can be very powerful and flexible, especially if you do not want to set up configuration-management tools such as Chef and Ansible.
When using the shell provisioner, there are optional configuration settings available:
- args: These are arguments that you specify for use by the provisioning script. This can be a string or an array of values.
- env: This is a list of key-value pairs (hash) as environment variables to the script.
- binary: Vagrant by default replaces Windows line endings with Unix line endings, unless you change this value to true.
- privileged: This allows...