Seth Vargo 5093f3120e Merge docs and www into a single static site
This is a big commit, and I apologize in advance for the future
git-blames all pointing to me. This commit does a few things:

1.  Merges the website/docs and website/www repo into a single website repo
    to be in line with other HashiCorp projects
2.  Updates to use middleman-hashicorp
3.  Converts less to scss to be in line with other projects
4.  Updates page styles to be in line with other projects
5.  Optimizes images
6.  Prepare for S3 + Fastly deployment with scripts, etc.
7.  Removes blog posts (they have been transferred to hashicorp.com with
    redirects in place
8.  Updated sitemap generation script for better SEO
9.  Fixed many broken links
10. Add description to all fields
2016-01-19 14:35:05 -05:00

50 lines
2.0 KiB
Markdown

---
layout: "docs"
page_title: "Provisioning"
sidebar_current: "provisioning"
description: |-
Provisioners in Vagrant allow you to automatically install software, alter configurations, and more on the machine as part of the `vagrant up` process.
---
# Provisioning
Provisioners in Vagrant allow you to automatically install software, alter configurations,
and more on the machine as part of the `vagrant up` process.
This is useful since [boxes](/docs/boxes.html) typically are not
built _perfectly_ for your use case. Of course, if you want to just use
`vagrant ssh` and install the software by hand, that works. But by using
the provisioning systems built-in to Vagrant, it automates the process so
that it is repeatable. Most importantly, it requires no human interaction,
so you can `vagrant destroy` and `vagrant up` and have a fully ready-to-go
work environment with a single command. Powerful.
Vagrant gives you multiple options for provisioning the machine, from
simple shell scripts to more complex, industry-standard configuration
management systems.
If you've never used a configuration management system before, it is
recommended you start with basic [shell scripts](/docs/provisioning/shell.html)
for provisioning.
You can find the full list of built-in provisioners and usage of these
provisioners in the navigational area to the left.
## When Provisioning Happens
Provisioning happens at certain points during the lifetime of your
Vagrant environment:
* On the first `vagrant up` that creates the environment, provisioning is run.
If the environment was already created and the up is just resuming a machine
or booting it up, they will not run unless the `--provision` flag is explicitly
provided.
* When `vagrant provision` is used on a running environment.
* When `vagrant reload --provision` is called. The `--provision` flag must
be present to force provisioning.
You can also bring up your environment and explicitly _not_ run provisioners
by specifying `--no-provision`.