tnargav 1.2.3 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (380) hide show
  1. data/.gitignore +19 -3
  2. data/CHANGELOG.md +311 -0
  3. data/bin/vagrant +12 -0
  4. data/config/default.rb +2 -4
  5. data/keys/README.md +0 -7
  6. data/lib/vagrant.rb +7 -0
  7. data/lib/vagrant/action.rb +2 -0
  8. data/lib/vagrant/action/builtin/box_add.rb +12 -1
  9. data/lib/vagrant/action/builtin/confirm.rb +1 -0
  10. data/lib/vagrant/action/builtin/graceful_halt.rb +9 -5
  11. data/lib/vagrant/action/builtin/handle_box_url.rb +16 -7
  12. data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +1 -1
  13. data/lib/vagrant/action/builtin/mixin_provisioners.rb +43 -0
  14. data/lib/vagrant/action/builtin/nfs.rb +18 -8
  15. data/lib/vagrant/action/builtin/provision.rb +30 -21
  16. data/lib/vagrant/action/builtin/provisioner_cleanup.rb +35 -0
  17. data/lib/vagrant/action/builtin/wait_for_communicator.rb +84 -0
  18. data/lib/vagrant/action/warden.rb +2 -1
  19. data/lib/vagrant/box_collection.rb +62 -44
  20. data/lib/vagrant/cli.rb +1 -9
  21. data/lib/vagrant/config/v2/root.rb +6 -0
  22. data/lib/vagrant/environment.rb +27 -51
  23. data/lib/vagrant/errors.rb +33 -1
  24. data/lib/vagrant/guest.rb +2 -2
  25. data/lib/vagrant/machine.rb +14 -22
  26. data/lib/vagrant/plugin/v2/command.rb +4 -1
  27. data/lib/vagrant/plugin/v2/communicator.rb +21 -0
  28. data/lib/vagrant/plugin/v2/guest.rb +1 -56
  29. data/lib/vagrant/plugin/v2/provisioner.rb +6 -0
  30. data/lib/vagrant/util/downloader.rb +7 -2
  31. data/lib/vagrant/util/platform.rb +43 -0
  32. data/lib/vagrant/util/ssh.rb +5 -0
  33. data/lib/vagrant/util/subprocess.rb +16 -2
  34. data/lib/vagrant/version.rb +1 -1
  35. data/plugins/commands/box/command/remove.rb +22 -2
  36. data/plugins/commands/box/command/repackage.rb +1 -1
  37. data/plugins/commands/destroy/command.rb +8 -3
  38. data/plugins/commands/help/command.rb +12 -0
  39. data/plugins/commands/help/plugin.rb +17 -0
  40. data/plugins/commands/plugin/action.rb +11 -0
  41. data/plugins/commands/plugin/action/install_gem.rb +26 -1
  42. data/plugins/commands/plugin/action/plugin_exists_check.rb +26 -0
  43. data/plugins/commands/plugin/command/install.rb +4 -21
  44. data/plugins/commands/plugin/command/mixin_install_opts.rb +30 -0
  45. data/plugins/commands/plugin/command/root.rb +5 -0
  46. data/plugins/commands/plugin/command/update.rb +41 -0
  47. data/plugins/commands/reload/command.rb +4 -0
  48. data/plugins/commands/status/command.rb +6 -1
  49. data/plugins/commands/up/command.rb +10 -0
  50. data/plugins/commands/up/start_mixins.rb +12 -1
  51. data/plugins/communicators/ssh/communicator.rb +61 -6
  52. data/plugins/guests/arch/cap/change_host_name.rb +1 -2
  53. data/plugins/guests/arch/cap/configure_networks.rb +6 -0
  54. data/plugins/guests/coreos/cap/change_host_name.rb +15 -0
  55. data/plugins/guests/coreos/cap/configure_networks.rb +72 -0
  56. data/plugins/guests/coreos/guest.rb +9 -0
  57. data/plugins/guests/coreos/plugin.rb +25 -0
  58. data/plugins/guests/darwin/cap/change_host_name.rb +14 -0
  59. data/plugins/guests/darwin/cap/configure_networks.rb +52 -0
  60. data/plugins/guests/darwin/cap/halt.rb +16 -0
  61. data/plugins/guests/darwin/cap/mount_nfs_folder.rb +25 -0
  62. data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +36 -0
  63. data/plugins/guests/darwin/cap/shell_expand_guest_path.rb +26 -0
  64. data/plugins/guests/darwin/cap/verify_vmware_hgfs.rb +12 -0
  65. data/plugins/guests/darwin/guest.rb +15 -0
  66. data/plugins/guests/darwin/plugin.rb +50 -0
  67. data/plugins/guests/debian/cap/change_host_name.rb +1 -0
  68. data/plugins/guests/gentoo/guest.rb +1 -1
  69. data/plugins/guests/linux/cap/mount_nfs.rb +9 -1
  70. data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +26 -7
  71. data/plugins/guests/linux/cap/shell_expand_guest_path.rb +4 -1
  72. data/plugins/guests/openbsd/cap/change_host_name.rb +14 -0
  73. data/plugins/guests/openbsd/cap/configure_networks.rb +40 -0
  74. data/plugins/guests/openbsd/cap/mount_nfs_folder.rb +14 -0
  75. data/plugins/guests/openbsd/plugin.rb +15 -0
  76. data/plugins/guests/solaris/cap/halt.rb +2 -1
  77. data/plugins/guests/solaris/cap/mount_virtualbox_shared_folder.rb +4 -1
  78. data/plugins/guests/solaris11/cap/change_host_name.rb +25 -0
  79. data/plugins/guests/solaris11/cap/configure_networks.rb +32 -0
  80. data/plugins/guests/solaris11/cap/halt.rb +26 -0
  81. data/plugins/guests/solaris11/cap/mount_virtualbox_shared_folder.rb +35 -0
  82. data/plugins/guests/solaris11/config.rb +22 -0
  83. data/plugins/guests/solaris11/guest.rb +15 -0
  84. data/plugins/guests/solaris11/plugin.rb +44 -0
  85. data/plugins/guests/suse/cap/configure_networks.rb +60 -0
  86. data/plugins/guests/suse/plugin.rb +5 -0
  87. data/plugins/guests/ubuntu/cap/change_host_name.rb +1 -0
  88. data/plugins/guests/ubuntu/cap/mount_nfs.rb +19 -0
  89. data/plugins/guests/ubuntu/cap/mount_virtualbox_shared_folder.rb +14 -0
  90. data/plugins/guests/ubuntu/guest.rb +0 -19
  91. data/plugins/guests/ubuntu/plugin.rb +10 -0
  92. data/plugins/hosts/arch/host.rb +5 -28
  93. data/plugins/hosts/bsd/host.rb +83 -7
  94. data/plugins/hosts/fedora/host.rb +12 -6
  95. data/plugins/hosts/gentoo/host.rb +3 -1
  96. data/plugins/hosts/linux/host.rb +42 -9
  97. data/plugins/hosts/opensuse/host.rb +3 -1
  98. data/plugins/hosts/slackware/host.rb +26 -0
  99. data/plugins/hosts/slackware/plugin.rb +15 -0
  100. data/plugins/kernel_v1/config/ssh.rb +2 -2
  101. data/plugins/kernel_v2/config/ssh.rb +8 -16
  102. data/plugins/kernel_v2/config/vm.rb +68 -11
  103. data/plugins/providers/virtualbox/action.rb +15 -2
  104. data/plugins/providers/virtualbox/action/boot.rb +0 -26
  105. data/plugins/providers/virtualbox/action/clear_network_interfaces.rb +1 -1
  106. data/plugins/providers/virtualbox/action/customize.rb +10 -3
  107. data/plugins/providers/virtualbox/action/destroy_unused_network_interfaces.rb +8 -1
  108. data/plugins/providers/virtualbox/action/forward_ports.rb +1 -0
  109. data/plugins/providers/virtualbox/action/import.rb +3 -0
  110. data/plugins/providers/virtualbox/action/network.rb +14 -2
  111. data/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +7 -2
  112. data/plugins/providers/virtualbox/action/set_name.rb +13 -1
  113. data/plugins/providers/virtualbox/config.rb +39 -2
  114. data/plugins/providers/virtualbox/driver/base.rb +5 -0
  115. data/plugins/providers/virtualbox/driver/meta.rb +7 -1
  116. data/plugins/providers/virtualbox/driver/version_4_0.rb +2 -2
  117. data/plugins/providers/virtualbox/driver/version_4_1.rb +2 -2
  118. data/plugins/providers/virtualbox/driver/version_4_2.rb +17 -0
  119. data/plugins/providers/virtualbox/model/forwarded_port.rb +7 -1
  120. data/plugins/providers/virtualbox/util/compile_forwarded_ports.rb +5 -1
  121. data/plugins/provisioners/ansible/config.rb +40 -23
  122. data/plugins/provisioners/ansible/provisioner.rb +68 -13
  123. data/plugins/provisioners/cfengine/cap/debian/cfengine_install.rb +1 -1
  124. data/plugins/provisioners/cfengine/cap/redhat/cfengine_install.rb +1 -1
  125. data/plugins/provisioners/cfengine/config.rb +7 -1
  126. data/plugins/provisioners/cfengine/provisioner.rb +4 -5
  127. data/plugins/provisioners/chef/config/base.rb +31 -0
  128. data/plugins/provisioners/chef/config/chef_client.rb +15 -6
  129. data/plugins/provisioners/chef/config/chef_solo.rb +18 -11
  130. data/plugins/provisioners/chef/provisioner/base.rb +23 -3
  131. data/plugins/provisioners/chef/provisioner/chef_client.rb +25 -6
  132. data/plugins/provisioners/chef/provisioner/chef_solo.rb +16 -13
  133. data/plugins/provisioners/file/config.rb +29 -0
  134. data/plugins/provisioners/file/plugin.rb +23 -0
  135. data/plugins/provisioners/file/provisioner.rb +16 -0
  136. data/plugins/provisioners/puppet/config/puppet.rb +4 -1
  137. data/plugins/provisioners/puppet/provisioner/puppet.rb +15 -9
  138. data/plugins/provisioners/puppet/provisioner/puppet_server.rb +9 -2
  139. data/plugins/provisioners/salt/bootstrap-salt.sh +6 -0
  140. data/plugins/provisioners/salt/config.rb +105 -0
  141. data/plugins/provisioners/salt/errors.rb +11 -0
  142. data/plugins/provisioners/salt/plugin.rb +22 -0
  143. data/plugins/provisioners/salt/provisioner.rb +249 -0
  144. data/plugins/provisioners/shell/config.rb +11 -2
  145. data/plugins/provisioners/shell/provisioner.rb +15 -3
  146. data/scripts/website_push_docs.sh +12 -0
  147. data/scripts/website_push_www.sh +12 -0
  148. data/templates/commands/init/Vagrantfile.erb +5 -2
  149. data/templates/commands/ssh_config/config.erb +4 -0
  150. data/templates/guests/coreos/etcd.service.erb +10 -0
  151. data/templates/guests/fedora/network_static.erb +2 -3
  152. data/templates/guests/openbsd/network_dhcp.erb +1 -0
  153. data/templates/guests/openbsd/network_static.erb +1 -0
  154. data/templates/guests/suse/network_dhcp.erb +6 -0
  155. data/templates/guests/suse/network_static.erb +10 -0
  156. data/templates/locales/en.yml +123 -13
  157. data/templates/nfs/exports.erb +4 -4
  158. data/templates/nfs/exports_freebsd.erb +4 -4
  159. data/templates/nfs/exports_linux.erb +5 -3
  160. data/templates/provisioners/chef_client/client.erb +9 -0
  161. data/templates/provisioners/chef_solo/solo.erb +19 -1
  162. data/test/unit/vagrant/action/builtin/graceful_halt_test.rb +1 -2
  163. data/test/unit/vagrant/cli_test.rb +1 -0
  164. data/test/unit/vagrant/config/v2/root_test.rb +18 -0
  165. data/test/unit/vagrant/environment_test.rb +25 -0
  166. data/test/unit/vagrant/util/downloader_test.rb +4 -4
  167. data/test/unit/vagrant_test.rb +18 -0
  168. data/website/docs/.buildpacks +2 -0
  169. data/website/docs/Gemfile +13 -0
  170. data/website/docs/Gemfile.lock +141 -0
  171. data/website/docs/Procfile +1 -0
  172. data/website/docs/README.md +26 -0
  173. data/website/docs/config.rb +78 -0
  174. data/website/docs/config.ru +44 -0
  175. data/website/docs/helpers/sidebar_helpers.rb +19 -0
  176. data/website/docs/lib/redirect_to_latest.rb +25 -0
  177. data/website/docs/lib/redirect_v1_docs.rb +26 -0
  178. data/website/docs/source/404.html.erb +7 -0
  179. data/website/docs/source/images/bullet_1.png +0 -0
  180. data/website/docs/source/images/bullet_2.png +0 -0
  181. data/website/docs/source/images/bullet_3.png +0 -0
  182. data/website/docs/source/images/customers.png +0 -0
  183. data/website/docs/source/images/customers_small.png +0 -0
  184. data/website/docs/source/images/footer_background.png +0 -0
  185. data/website/docs/source/images/footer_hashi_logo.png +0 -0
  186. data/website/docs/source/images/footer_vagrant_logo.png +0 -0
  187. data/website/docs/source/images/get_started_background.png +0 -0
  188. data/website/docs/source/images/icon_caution.png +0 -0
  189. data/website/docs/source/images/logo_docs.png +0 -0
  190. data/website/docs/source/images/logo_docs_small.png +0 -0
  191. data/website/docs/source/images/logo_small.png +0 -0
  192. data/website/docs/source/images/logo_vagrant.png +0 -0
  193. data/website/docs/source/images/open_close.png +0 -0
  194. data/website/docs/source/images/search_icon.png +0 -0
  195. data/website/docs/source/images/sidebar_background_docs.png +0 -0
  196. data/website/docs/source/images/sidebar_background_inner.png +0 -0
  197. data/website/docs/source/images/steps_background.png +0 -0
  198. data/website/docs/source/images/vagrant_header_background.png +0 -0
  199. data/website/docs/source/index.html.erb +0 -0
  200. data/website/docs/source/javascripts/backstretch.js +4 -0
  201. data/website/docs/source/javascripts/bootstrap.min.js +7 -0
  202. data/website/docs/source/javascripts/fittext.js +43 -0
  203. data/website/docs/source/javascripts/grid-overlay.js +161 -0
  204. data/website/docs/source/javascripts/jquery.js +2 -0
  205. data/website/docs/source/javascripts/less-1.3.0.min.js +9 -0
  206. data/website/docs/source/javascripts/modernizr.js +1384 -0
  207. data/website/docs/source/javascripts/vagrantup.js +15 -0
  208. data/website/docs/source/layouts/layout.erb +266 -0
  209. data/website/docs/source/stylesheets/_base.less +317 -0
  210. data/website/docs/source/stylesheets/_components.less +74 -0
  211. data/website/docs/source/stylesheets/_footer.less +101 -0
  212. data/website/docs/source/stylesheets/_media-queries.less +452 -0
  213. data/website/docs/source/stylesheets/_mixins.less +174 -0
  214. data/website/docs/source/stylesheets/_nav.less +71 -0
  215. data/website/docs/source/stylesheets/_pages.less +276 -0
  216. data/website/docs/source/stylesheets/_sidebar.less +136 -0
  217. data/website/docs/source/stylesheets/_type.less +36 -0
  218. data/website/docs/source/stylesheets/_variables.less +39 -0
  219. data/website/docs/source/stylesheets/bootstrap.css +5946 -0
  220. data/website/docs/source/stylesheets/vagrantup.less +16 -0
  221. data/website/docs/source/v2/boxes.html.md +78 -0
  222. data/website/docs/source/v2/boxes/format.html.md +32 -0
  223. data/website/docs/source/v2/cli/box.html.md +62 -0
  224. data/website/docs/source/v2/cli/destroy.html.md +20 -0
  225. data/website/docs/source/v2/cli/halt.html.md +19 -0
  226. data/website/docs/source/v2/cli/index.html.md +24 -0
  227. data/website/docs/source/v2/cli/init.html.md +18 -0
  228. data/website/docs/source/v2/cli/package.html.md +43 -0
  229. data/website/docs/source/v2/cli/plugin.html.md +56 -0
  230. data/website/docs/source/v2/cli/provision.html.md +24 -0
  231. data/website/docs/source/v2/cli/reload.html.md +27 -0
  232. data/website/docs/source/v2/cli/resume.html.md +11 -0
  233. data/website/docs/source/v2/cli/ssh.html.md +24 -0
  234. data/website/docs/source/v2/cli/ssh_config.html.md +16 -0
  235. data/website/docs/source/v2/cli/status.html.md +14 -0
  236. data/website/docs/source/v2/cli/suspend.html.md +19 -0
  237. data/website/docs/source/v2/cli/up.html.md +34 -0
  238. data/website/docs/source/v2/debugging.html.md +42 -0
  239. data/website/docs/source/v2/getting-started/boxes.html.md +56 -0
  240. data/website/docs/source/v2/getting-started/index.html.md +43 -0
  241. data/website/docs/source/v2/getting-started/networking.html.md +45 -0
  242. data/website/docs/source/v2/getting-started/project_setup.html.md +38 -0
  243. data/website/docs/source/v2/getting-started/providers.html.md +37 -0
  244. data/website/docs/source/v2/getting-started/provisioning.html.md +75 -0
  245. data/website/docs/source/v2/getting-started/rebuild.html.md +17 -0
  246. data/website/docs/source/v2/getting-started/synced_folders.html.md +42 -0
  247. data/website/docs/source/v2/getting-started/teardown.html.md +41 -0
  248. data/website/docs/source/v2/getting-started/up.html.md +35 -0
  249. data/website/docs/source/v2/index.html.md +10 -0
  250. data/website/docs/source/v2/installation/backwards-compatibility.html.md +35 -0
  251. data/website/docs/source/v2/installation/index.html.md +28 -0
  252. data/website/docs/source/v2/installation/uninstallation.html.md +39 -0
  253. data/website/docs/source/v2/installation/upgrading-from-1-0.html.md +26 -0
  254. data/website/docs/source/v2/installation/upgrading.html.md +20 -0
  255. data/website/docs/source/v2/multi-machine/index.html.md +105 -0
  256. data/website/docs/source/v2/networking/basic_usage.html.md +43 -0
  257. data/website/docs/source/v2/networking/forwarded_ports.html.md +57 -0
  258. data/website/docs/source/v2/networking/index.html.md +40 -0
  259. data/website/docs/source/v2/networking/private_network.html.md +48 -0
  260. data/website/docs/source/v2/networking/public_network.html.md +53 -0
  261. data/website/docs/source/v2/plugins/commands.html.md +116 -0
  262. data/website/docs/source/v2/plugins/configuration.html.md +166 -0
  263. data/website/docs/source/v2/plugins/development-basics.html.md +139 -0
  264. data/website/docs/source/v2/plugins/guest-capabilities.html.md +100 -0
  265. data/website/docs/source/v2/plugins/guests.html.md +99 -0
  266. data/website/docs/source/v2/plugins/hosts.html.md +46 -0
  267. data/website/docs/source/v2/plugins/index.html.md +21 -0
  268. data/website/docs/source/v2/plugins/packaging.html.md +102 -0
  269. data/website/docs/source/v2/plugins/providers.html.md +234 -0
  270. data/website/docs/source/v2/plugins/provisioners.html.md +64 -0
  271. data/website/docs/source/v2/plugins/usage.html.md +58 -0
  272. data/website/docs/source/v2/providers/basic_usage.html.md +67 -0
  273. data/website/docs/source/v2/providers/configuration.html.md +89 -0
  274. data/website/docs/source/v2/providers/custom.html.md +9 -0
  275. data/website/docs/source/v2/providers/default.html.md +22 -0
  276. data/website/docs/source/v2/providers/index.html.md +23 -0
  277. data/website/docs/source/v2/providers/installation.html.md +11 -0
  278. data/website/docs/source/v2/provisioning/ansible.html.md +144 -0
  279. data/website/docs/source/v2/provisioning/basic_usage.html.md +67 -0
  280. data/website/docs/source/v2/provisioning/chef_client.html.md +109 -0
  281. data/website/docs/source/v2/provisioning/chef_solo.html.md +156 -0
  282. data/website/docs/source/v2/provisioning/index.html.md +28 -0
  283. data/website/docs/source/v2/provisioning/puppet_agent.html.md +70 -0
  284. data/website/docs/source/v2/provisioning/puppet_apply.html.md +114 -0
  285. data/website/docs/source/v2/provisioning/shell.html.md +88 -0
  286. data/website/docs/source/v2/synced-folders/basic_usage.html.md +53 -0
  287. data/website/docs/source/v2/synced-folders/index.html.md +17 -0
  288. data/website/docs/source/v2/synced-folders/nfs.html.md +53 -0
  289. data/website/docs/source/v2/vagrantfile/index.html.md +75 -0
  290. data/website/docs/source/v2/vagrantfile/machine_settings.html.md +84 -0
  291. data/website/docs/source/v2/vagrantfile/ssh_settings.html.md +61 -0
  292. data/website/docs/source/v2/vagrantfile/vagrant_settings.html.md +19 -0
  293. data/website/docs/source/v2/vagrantfile/version.html.md +64 -0
  294. data/website/docs/source/v2/virtualbox/boxes.html.md +71 -0
  295. data/website/docs/source/v2/virtualbox/configuration.html.md +63 -0
  296. data/website/docs/source/v2/virtualbox/index.html.md +21 -0
  297. data/website/docs/source/v2/virtualbox/usage.html.md +12 -0
  298. data/website/docs/source/v2/vmware/boxes.html.md +107 -0
  299. data/website/docs/source/v2/vmware/configuration.html.md +91 -0
  300. data/website/docs/source/v2/vmware/index.html.md +30 -0
  301. data/website/docs/source/v2/vmware/installation.html.md +40 -0
  302. data/website/docs/source/v2/vmware/known-issues.html.md +21 -0
  303. data/website/docs/source/v2/vmware/usage.html.md +27 -0
  304. data/website/docs/source/v2/why-vagrant/index.html.md +46 -0
  305. data/website/www/.buildpacks +2 -0
  306. data/website/www/Gemfile +15 -0
  307. data/website/www/Gemfile.lock +123 -0
  308. data/website/www/Procfile +1 -0
  309. data/website/www/README.md +26 -0
  310. data/website/www/config.rb +88 -0
  311. data/website/www/config.ru +39 -0
  312. data/website/www/helpers/sidebar_helpers.rb +12 -0
  313. data/website/www/lib/legacy_redirect.rb +32 -0
  314. data/website/www/source/404.html.erb +11 -0
  315. data/website/www/source/_sidebar_about.erb +5 -0
  316. data/website/www/source/_sidebar_blog.erb +11 -0
  317. data/website/www/source/_sidebar_support.html.erb +6 -0
  318. data/website/www/source/about.html.markdown +16 -0
  319. data/website/www/source/blog.html.erb +34 -0
  320. data/website/www/source/blog/2013-09-16-test.html.markdown +26 -0
  321. data/website/www/source/blog_feed.xml.builder +23 -0
  322. data/website/www/source/images/bullet_1.png +0 -0
  323. data/website/www/source/images/bullet_2.png +0 -0
  324. data/website/www/source/images/bullet_3.png +0 -0
  325. data/website/www/source/images/customers.png +0 -0
  326. data/website/www/source/images/customers_small.png +0 -0
  327. data/website/www/source/images/footer_background.png +0 -0
  328. data/website/www/source/images/footer_hashi_logo.png +0 -0
  329. data/website/www/source/images/footer_vagrant_logo.png +0 -0
  330. data/website/www/source/images/get_started_background.png +0 -0
  331. data/website/www/source/images/icon_caution.png +0 -0
  332. data/website/www/source/images/logo_docs.png +0 -0
  333. data/website/www/source/images/logo_docs_small.png +0 -0
  334. data/website/www/source/images/logo_small.png +0 -0
  335. data/website/www/source/images/logo_vagrant.png +0 -0
  336. data/website/www/source/images/open_close.png +0 -0
  337. data/website/www/source/images/search_icon.png +0 -0
  338. data/website/www/source/images/sidebar_background_docs.png +0 -0
  339. data/website/www/source/images/sidebar_background_inner.png +0 -0
  340. data/website/www/source/images/sponsors/fastly.png +0 -0
  341. data/website/www/source/images/sponsors/kiip.png +0 -0
  342. data/website/www/source/images/sponsors/softlayer.jpg +0 -0
  343. data/website/www/source/images/sponsors/typekit.png +0 -0
  344. data/website/www/source/images/steps_background.png +0 -0
  345. data/website/www/source/images/vagrant_header_background.png +0 -0
  346. data/website/www/source/images/vagrant_vmware_background.png +0 -0
  347. data/website/www/source/index.html.erb +109 -0
  348. data/website/www/source/javascripts/backstretch.js +4 -0
  349. data/website/www/source/javascripts/bootstrap.min.js +7 -0
  350. data/website/www/source/javascripts/fittext.js +43 -0
  351. data/website/www/source/javascripts/grid-overlay.js +161 -0
  352. data/website/www/source/javascripts/jquery.js +2 -0
  353. data/website/www/source/javascripts/less-1.3.0.min.js +9 -0
  354. data/website/www/source/javascripts/modernizr.js +1384 -0
  355. data/website/www/source/javascripts/vagrantup.js +58 -0
  356. data/website/www/source/layouts/blog_post.erb +42 -0
  357. data/website/www/source/layouts/inner.erb +34 -0
  358. data/website/www/source/layouts/layout.erb +107 -0
  359. data/website/www/source/sponsors.html.erb +23 -0
  360. data/website/www/source/stylesheets/_base.less +326 -0
  361. data/website/www/source/stylesheets/_components.less +74 -0
  362. data/website/www/source/stylesheets/_footer.less +101 -0
  363. data/website/www/source/stylesheets/_media-queries.less +549 -0
  364. data/website/www/source/stylesheets/_mixins.less +175 -0
  365. data/website/www/source/stylesheets/_modules.less +37 -0
  366. data/website/www/source/stylesheets/_nav.less +74 -0
  367. data/website/www/source/stylesheets/_pages.less +467 -0
  368. data/website/www/source/stylesheets/_sidebar.less +137 -0
  369. data/website/www/source/stylesheets/_type.less +36 -0
  370. data/website/www/source/stylesheets/_variables.less +39 -0
  371. data/website/www/source/stylesheets/bootstrap.css +5946 -0
  372. data/website/www/source/stylesheets/vagrantup.less +17 -0
  373. data/website/www/source/support.html.erb +25 -0
  374. data/website/www/source/support/community.html.erb +28 -0
  375. data/website/www/source/support/professional.html.erb +17 -0
  376. data/website/www/source/vmware/eula.html.md +21 -0
  377. data/website/www/source/vmware/index.html.erb +185 -0
  378. data/website/www/source/vmware/privacy-policy.html.md +71 -0
  379. data/website/www/source/vmware/terms-of-service.html.md +50 -0
  380. metadata +436 -186
@@ -0,0 +1,28 @@
1
+ ---
2
+ page_title: "Provisioning"
3
+ sidebar_current: "provisioning"
4
+ ---
5
+
6
+ # Provisioning
7
+
8
+ Provisioners in Vagrant allow you to automatically install software, alter configurations,
9
+ and more on the machine as part of the `vagrant up` process.
10
+
11
+ This is useful since [boxes](/v2/boxes.html) typically aren't
12
+ built _perfectly_ for your use case. Of course, if you want to just use
13
+ `vagrant ssh` and install the software by hand, that works. But by using
14
+ the provisioning systems built-in to Vagrant, it automates the process so
15
+ that it is repeatable. Most importantly, it requires no human interaction,
16
+ so you can `vagrant destroy` and `vagrant up` and have a fully ready-to-go
17
+ work environment with a single command. Powerful.
18
+
19
+ Vagrant gives you multiple options for provisioning the machine, from
20
+ simple shell scripts to more complex, industry-standard configuration
21
+ management systems.
22
+
23
+ If you've never used a configuration management system before, it is
24
+ recommended you start with basic [shell scripts](/v2/provisioning/shell.html)
25
+ for provisioning.
26
+
27
+ You can find the full list of built-in provisioners and usage of these
28
+ provisioners in the navigational area to the left.
@@ -0,0 +1,70 @@
1
+ ---
2
+ page_title: "Puppet Agent - Provisioning"
3
+ sidebar_current: "provisioning-puppetagent"
4
+ ---
5
+
6
+ # Puppet Agent Provisioner
7
+
8
+ **Provisioner name: `puppet_server`**
9
+
10
+ The Puppet agent provisioner allows you to provision the guest using
11
+ [Puppet](http://www.puppetlabs.com/puppet), specifically by
12
+ calling `puppet agent`, connecting to a Puppet master, and retrieving
13
+ the set of modules and manifests from there.
14
+
15
+ <div class="alert alert-warn">
16
+ <p>
17
+ <strong>Warning:</strong> If you're not familiar with Puppet and Vagrant already,
18
+ I recommend starting with the <a href="/v2/provisioning/shell.html">shell
19
+ provisioner</a>. However, if you're comfortable with Vagrant already, Vagrant
20
+ is the best way to learn Puppet.
21
+ </p>
22
+ </div>
23
+
24
+ ## Specifying the Puppet Master
25
+
26
+ The quickest way to get started with the Puppet agent provisioner is to just
27
+ specify the location of the Puppet master:
28
+
29
+ ```ruby
30
+ Vagrant.configure("2") do |config|
31
+ config.vm.provision "puppet_server" do |puppet|
32
+ puppet.puppet_server = "puppet.example.com"
33
+ end
34
+ end
35
+ ```
36
+
37
+ By default, Vagrant will look for the host named "puppet" on the
38
+ local domain of the guest machine.
39
+
40
+ ## Configuring the Node Name
41
+
42
+ The node name that the agent registers as can be customized. Remember
43
+ this is important because Puppet uses the node name as part of the process
44
+ to compile the catalog the node will run.
45
+
46
+ The node name defaults to the hostname of the guest machine, but can
47
+ be customized using the Vagrantfile:
48
+
49
+ ```ruby
50
+ Vagrant.configure("2") do |config|
51
+ config.vm.provision "puppet_server" do |puppet|
52
+ puppet.puppet_node = "node.example.com"
53
+ end
54
+ end
55
+ ```
56
+
57
+ ## Additional Options
58
+
59
+ Puppet supports a lot of command-line flags. Basically any setting can
60
+ be overriden on the command line. To give you the most power and flexibility
61
+ possible with Puppet, Vagrant allows you to specify custom command line
62
+ flags to use:
63
+
64
+ ```ruby
65
+ Vagrant.configure("2") do |config|
66
+ config.vm.provision "puppet_server" do |puppet|
67
+ puppet.options = "--verbose --debug"
68
+ end
69
+ end
70
+ ```
@@ -0,0 +1,114 @@
1
+ ---
2
+ page_title: "Puppet Apply - Provisioning"
3
+ sidebar_current: "provisioning-puppetapply"
4
+ ---
5
+
6
+ # Puppet Apply Provisioner
7
+
8
+ **Provisioner name: `puppet`**
9
+
10
+ The Puppet provisioner allows you to provision the guest using
11
+ [Puppet](http://www.puppetlabs.com/puppet), specifically by
12
+ calling `puppet apply`, without a Puppet Master.
13
+
14
+ <div class="alert alert-warn">
15
+ <p>
16
+ <strong>Warning:</strong> If you're not familiar with Puppet and Vagrant already,
17
+ I recommend starting with the <a href="/v2/provisioning/shell.html">shell
18
+ provisioner</a>. However, if you're comfortable with Vagrant already, Vagrant
19
+ is the best way to learn Puppet.
20
+ </p>
21
+ </div>
22
+
23
+ ## Bare Minimum
24
+
25
+ The quickest way to get started with the Puppet provisioner is to just
26
+ enable it:
27
+
28
+ ```ruby
29
+ Vagrant.configure("2") do |config|
30
+ config.vm.provision "puppet"
31
+ end
32
+ ```
33
+
34
+ By default, Vagrant will configure Puppet to look for manifests in the
35
+ "manifests" folder relative to the project root, and will use the
36
+ "default.pp" manifest as an entry-point. This means, if your directory
37
+ tree looks like the one below, you can get started with Puppet with
38
+ just that one line in your Vagrantfile.
39
+
40
+ ```
41
+ $ tree
42
+ .
43
+ |-- Vagrantfile
44
+ |-- manifests
45
+ |   |-- default.pp
46
+ ```
47
+
48
+ ## Custom Manifest Settings
49
+
50
+ Of course, you're able to put and name your manifests whatever you'd
51
+ like. You can override both the directory where Puppet looks for
52
+ manifests with `manifests_path`, and the manifest file used as the
53
+ entry-point with `manifest_file`:
54
+
55
+ ```ruby
56
+ Vagrant.configure("2") do |config|
57
+ config.vm.provision "puppet" do |puppet|
58
+ puppet.manifests_path = "my_manifests"
59
+ puppet.manifest_file = "default.pp"
60
+ end
61
+ end
62
+ ```
63
+
64
+ The path can be relative or absolute. If it is relative, it is relative
65
+ to the project root.
66
+
67
+ ## Modules
68
+
69
+ Vagrant also supports provisioning with [Puppet modules](http://docs.puppetlabs.com/guides/modules.html).
70
+ This is done by specifying a path to a modules folder where modules are located.
71
+ The manifest file is still used as an entry-point.
72
+
73
+ ```ruby
74
+ Vagrant.configure("2") do |config|
75
+ config.vm.provision "puppet" do |puppet|
76
+ puppet.module_path = "modules"
77
+ end
78
+ end
79
+ ```
80
+
81
+ Just like the manifests path, the modules path is relative to the project
82
+ root if a relative path is given.
83
+
84
+ ## Custom Facts
85
+
86
+ Custom facts to be exposed by [Facter](http://puppetlabs.com/puppet/related-projects/facter/)
87
+ can be specified as well:
88
+
89
+ ```ruby
90
+ Vagrant.configure("2") do |config|
91
+ config.vm.provision "puppet" do |puppet|
92
+ puppet.facter = {
93
+ "vagrant" => "1"
94
+ }
95
+ end
96
+ end
97
+ ```
98
+
99
+ Now, the `$vagrant` variable in your Puppet manifests will equal "1".
100
+
101
+ ## Additional Options
102
+
103
+ Puppet supports a lot of command-line flags. Basically any setting can
104
+ be overriden on the command line. To give you the most power and flexibility
105
+ possible with Puppet, Vagrant allows you to specify custom command line
106
+ flags to use:
107
+
108
+ ```ruby
109
+ Vagrant.configure("2") do |config|
110
+ config.vm.provision "puppet" do |puppet|
111
+ puppet.options = "--verbose --debug"
112
+ end
113
+ end
114
+ ```
@@ -0,0 +1,88 @@
1
+ ---
2
+ page_title: "Shell Scripts - Provisioning"
3
+ sidebar_current: "provisioning-shell"
4
+ ---
5
+
6
+ # Shell Provisioner
7
+
8
+ **Provisioner name: `"shell"`**
9
+
10
+ The shell provisioner allows you to upload and execute a script as
11
+ the root user within the guest machine.
12
+
13
+ Shell provisioning is ideal for users new to Vagrant who want to get up
14
+ and running quickly and provides a strong alternative for users who aren't
15
+ comfortable with a full configuration management system such as Chef or
16
+ Puppet.
17
+
18
+ ## Inline Scripts
19
+
20
+ Perhaps the easiest way to get started is with an inline script. An
21
+ inline script is a script that is given to Vagrant directly within
22
+ the Vagrantfile. An example is best:
23
+
24
+ ```ruby
25
+ Vagrant.configure("2") do |config|
26
+ config.vm.provision "shell",
27
+ inline: "echo Hello, World"
28
+ end
29
+ ```
30
+
31
+ This causes `echo Hello, World` to be run within the guest machine when
32
+ provisioners are run.
33
+
34
+ Combined with a little bit more Ruby, this makes it very easy to embed
35
+ your shell scripts directly within your Vagrantfile. Another example below:
36
+
37
+ ```ruby
38
+ $script = <<SCRIPT
39
+ echo I am provisioning...
40
+ date > /etc/vagrant_provisioned_at
41
+ SCRIPT
42
+
43
+ Vagrant.configure("2") do |config|
44
+ config.vm.provision "shell", inline: $script
45
+ end
46
+ ```
47
+
48
+ I understand if you're not familiar with Ruby, the above may seem very
49
+ advanced or foreign. But don't fear, what it is doing is quite simple:
50
+ the script is assigned to a global variable `$script`. This global variable
51
+ contains a string which is then passed in as the inline script to the
52
+ Vagrant configuration.
53
+
54
+ Of course, if any Ruby in your Vagrantfile outside of basic variable assignment
55
+ makes you uncomfortable, you can use an actual script file, documented in
56
+ the next section.
57
+
58
+ ## External Script
59
+
60
+ The shell provisioner can also take an option specifying a path to
61
+ a shell script on the host machine. Vagrant will then upload this script
62
+ into the guest and execute it. An example:
63
+
64
+ ```ruby
65
+ Vagrant.configure("2") do |config|
66
+ config.vm.provision "shell", path: "script.sh"
67
+ end
68
+ ```
69
+
70
+ Relative paths, such as above, are expanded relative to the location
71
+ of the root Vagrantfile for your project. Absolute paths can also be used,
72
+ as well as shortcuts such as `~` (home directory) and `..` (parent directory).
73
+
74
+ ## Script Arguments
75
+
76
+ You can parameterize your scripts as well like any normal shell script.
77
+ These arguments can be specified to the shell provisioner. They should
78
+ be specified as a string as they'd be typed on the command line, so
79
+ be sure to properly escape anything:
80
+
81
+ ```ruby
82
+ Vagrant.configure("2") do |config|
83
+ config.vm.provision "shell" do |s|
84
+ s.inline = "echo $1"
85
+ s.args = "'hello, world!'"
86
+ end
87
+ end
88
+ ```
@@ -0,0 +1,53 @@
1
+ ---
2
+ page_title: "Basic Usage - Synced Folders"
3
+ sidebar_current: "syncedfolder-basic"
4
+ ---
5
+
6
+ # Basic Usage
7
+
8
+ ## Configuration
9
+
10
+ Synced folders are configured within your Vagrantfile using the
11
+ `config.vm.synced_folder` method. Usage of the configuration directive
12
+ is very simple:
13
+
14
+ ```ruby
15
+ Vagrant.configure("2") do |config|
16
+ # other config here
17
+
18
+ config.vm.synced_folder "src/", "/srv/website"
19
+ end
20
+ ```
21
+
22
+ The first parameter is a path to a directory on the host machine. If
23
+ the path is relative, it is relative to the project root. The second
24
+ parameter must be an absolute path of where to share the folder within
25
+ the guest machine. This folder will be created (recursively, if it must)
26
+ if it doesn't exist.
27
+
28
+ ## Enabling
29
+
30
+ Synced folders are automatically setup during `vagrant up` and
31
+ `vagrant reload`.
32
+
33
+ ## Disabling
34
+
35
+ Shared folders can be disabled by adding the `disabled` option to
36
+ any definition:
37
+
38
+ ```ruby
39
+ Vagrant.configure("2") do |config|
40
+ config.vm.synced_folder "src/", "/srv/website", disabled: true
41
+ end
42
+ ```
43
+
44
+ ## Modifying the Owner/Group
45
+
46
+ By default, Vagrant mounts the synced folders with the owner/group set
47
+ to the SSH user. Sometimes it is preferable to mount folders with a different
48
+ owner and group. It is possible to set these options:
49
+
50
+ ```ruby
51
+ config.vm.synced_folder "src/", "/srv/website",
52
+ owner: "root", group: "root"
53
+ ```
@@ -0,0 +1,17 @@
1
+ ---
2
+ page_title: "Synced Folders"
3
+ sidebar_current: "syncedfolder"
4
+ ---
5
+
6
+ # Synced Folders
7
+
8
+ Synced folders enable Vagrant to sync a folder on the host machine to the
9
+ guest machine, allowing you to continue working on your project's files
10
+ on your host machine, but use the resources in the guest machine to
11
+ compile or run your project.
12
+
13
+ By default, Vagrant will share your project directory (the directory
14
+ with the [Vagrantfile](/v2/vagrantfile/index.html)) to `/vagrant`.
15
+
16
+ Read the [basic usage](/v2/synced-folders/basic_usage.html) page to get started
17
+ with synced folders.
@@ -0,0 +1,53 @@
1
+ ---
2
+ page_title: "NFS - Synced Folders"
3
+ sidebar_current: "syncedfolder-nfs"
4
+ ---
5
+
6
+ # NFS
7
+
8
+ In some cases the default shared folder implementations (such as VirtualBox
9
+ shared folders) have high performance penalties. If you're seeing less
10
+ than ideal performance with synced folders, [NFS](http://en.wikipedia.org/wiki/Network_File_System_%28protocol%29)
11
+ can offer a solution. Vagrant has built-in support to orchestrate the
12
+ configuration of the NFS server on the host and guest for you.
13
+
14
+ <div class="alert alert-info">
15
+ <p>
16
+ <strong>Windows users:</strong> NFS folders do not work on Windows
17
+ hosts. Vagrant will ignore your request for NFS synced folders on
18
+ Windows.
19
+ </p>
20
+ </div>
21
+
22
+ ## Prerequisites
23
+
24
+ Before using synced folders backed by NFS, the host machine must have
25
+ `nfsd` installed, the NFS server daemon. This comes pre-installed on Mac
26
+ OS X, and is typically a simple package install on Linux.
27
+
28
+ Additionally, the guest machine must have NFS support installed. This is
29
+ also usually a simple package installation away.
30
+
31
+ ## Root Privilege Requirement
32
+
33
+ To configure NFS, Vagrant must modify system files on the host. Therefore,
34
+ at some point during the `vagrant up` sequence, you may be prompted for
35
+ administrative privileges (via the typical `sudo` program). These
36
+ privileges are used to modify `/etc/exports` as well as to start and
37
+ stop the NFS server daemon.
38
+
39
+
40
+ ## Enabling NFS Synced Folders
41
+
42
+ To enable NFS, just add the `nfs: true` flag onto your synced folder:
43
+
44
+ ```ruby
45
+ Vagrant.configure("2") do |config|
46
+ # ...
47
+
48
+ config.vm.synced_folder ".", "/vagrant", nfs: true
49
+ end
50
+ ```
51
+
52
+ If you add this to an existing Vagrantfile that has a running guest machine,
53
+ be sure to `vagrant reload` to see your changes.
@@ -0,0 +1,75 @@
1
+ ---
2
+ page_title: "Vagrantfile"
3
+ sidebar_current: "vagrantfile"
4
+ ---
5
+
6
+ # Vagrantfile
7
+
8
+ The primary function of the Vagrantfile is to describe the type
9
+ of machine required for a project, and how to configure and
10
+ provision these machines. Vagrantfiles are called Vagrantfiles because
11
+ the actual literal filename for the file is `Vagrantfile` (casing doesn't
12
+ matter).
13
+
14
+ Vagrant is meant to run with one Vagrantfile per project, and the Vagrantfile
15
+ is supposed to be committed to version control. This allows other developers
16
+ involved in the project to check out the code, run `vagrant up`, and be on
17
+ their way. Vagrantfiles are portable across every platform Vagrant supports.
18
+
19
+ The syntax of Vagrantfiles is [Ruby](http://www.ruby-lang.org), but knowledge
20
+ of the Ruby programming language is not necessary to make modifications to the
21
+ Vagrantfile, since it is mostly simple variable assignment. In fact, Ruby isn't
22
+ even the most popular community Vagrant is used within, which should help show
23
+ you that despite not having Ruby knowledge, people are very successful with
24
+ Vagrant.
25
+
26
+ ## Lookup Path
27
+
28
+ When you run any `vagrant` command, Vagrant climbs up the directory tree
29
+ looking for the first Vagrantfile it can find, starting first in the
30
+ current directory. So if you run `vagrant` in `/home/mitchellh/projects/foo`,
31
+ it will search the following paths in order for a Vagrantfile, until it
32
+ finds one:
33
+
34
+ ```
35
+ /home/mitchellh/projects/foo/Vagrantfile
36
+ /home/mitchellh/projects/Vagrantfile
37
+ /home/mitchellh/Vagrantfile
38
+ /home/Vagrantfile
39
+ /Vagrantfile
40
+ ```
41
+
42
+ This feature lets you run `vagrant` from any directory in your project.
43
+
44
+ You can change the starting directory where Vagrant looks for a Vagrantfile
45
+ by setting the `VAGRANT_CWD` environmental variable to some other path.
46
+
47
+ <a name="load-order"></a>
48
+ ## Load Order and Merging
49
+
50
+ An important concept to understand is how Vagrant loads Vagrantfiles. Vagrant
51
+ actually loads a series of Vagrantfiles, merging the settings as it goes. This
52
+ allows Vagrantfiles of varying level of specificity to override prior settings.
53
+ Vagrantfiles are loaded in the order shown below. Note that if a Vagrantfile
54
+ is not found at any step, Vagrant continues with the next step.
55
+
56
+ 1. Built-in default Vagrantfile that ships with Vagrant. This has default
57
+ settings and should never be changed by any user of Vagrant.
58
+ 2. Vagrantfile packaged with the [box](/v2/boxes.html) that is to be used
59
+ for a given machine.
60
+ 3. Vagrantfile in your Vagrant home directory (defaults to `~/.vagrant.d`).
61
+ This lets you specify some defaults for your system user.
62
+ 4. Vagrantfile from the project directory. This is the Vagrantfile that you'll
63
+ be modifying most of the time.
64
+
65
+ At each level, settings set will be merged with previous values. What this
66
+ exactly means depends on the setting. For most settings, this means that
67
+ the newer setting overrides the older one. However, for things such as defining
68
+ networks, the networks are actually appended to each other. By default, you
69
+ should assume that settings will override each other. If the behavior is
70
+ different, it will be noted in the relevant documentation section.
71
+
72
+ ## Available Configuration Options
73
+
74
+ You can learn more about the available configuration options by clicking
75
+ the relevant section in the left navigational area.