From b6795081b81dab75bf9008a5e1180a19a61f552f Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 19 Dec 2013 14:10:28 -0800 Subject: [PATCH] website: update docs for vagrant pp --- .../post-processors/vagrant.html.markdown | 86 +++---------------- 1 file changed, 14 insertions(+), 72 deletions(-) diff --git a/website/source/docs/post-processors/vagrant.html.markdown b/website/source/docs/post-processors/vagrant.html.markdown index b91b16970..2b5f4368f 100644 --- a/website/source/docs/post-processors/vagrant.html.markdown +++ b/website/source/docs/post-processors/vagrant.html.markdown @@ -18,7 +18,7 @@ documentation on [using post-processors](/docs/templates/post-processors.html) in templates. This knowledge will be expected for the remainder of this document. -Because Vagrant boxes are [provider-specific](#), +Because Vagrant boxes are [provider-specific](http://docs.vagrantup.com/v2/boxes/format.html), the Vagrant post-processor is hardcoded to understand how to convert the artifacts of certain builders into proper boxes for their respective providers. @@ -27,6 +27,7 @@ Currently, the Vagrant post-processor can create boxes for the following providers. * AWS +* DigitalOcean * VirtualBox * VMware @@ -47,82 +48,23 @@ However, if you want to configure things a bit more, the post-processor does expose some configuration options. The available options are listed below, with more details about certain options in following sections. +* `compression_level` (integer) - An integer repesenting the + compression level to use when creating the Vagrant box. Valid + values range from 0 to 9, with 0 being no compression and 9 being + the best compression. By default, compression is enabled at level 1. + +* `include` (array of strings) - Paths to files to include in the + Vagrant box. These files will each be copied into the top level directory + of the Vagrant box (regardless of their paths). They can then be used + from the Vagrantfile. + * `output` (string) - The full path to the box file that will be created by this post-processor. This is a [configuration template](/docs/templates/configuration-templates.html). The variable `Provider` is replaced by the Vagrant provider the box is for. The variable `ArtifactId` is replaced by the ID of the input artifact. + The variable `BuildName` is replaced with the name of the build. By default, the value of this config is `packer_{{.BuildName}}_{{.Provider}}.box`. -* `aws`, `virtualbox`, or `vmware` (objects) - These are used to configure - the specific options for certain providers. A reference of available - configuration parameters for each is in the section below. - -### AWS Provider - -The AWS provider itself can be configured with specific options: - * `vagrantfile_template` (string) - Path to a template to use for the - Vagrantfile that is packaged with the box. The contents of the file must be a valid Go - [text template](http://golang.org/pkg/text/template). By default - this is a template that simply sets the AMIs for the various regions - of the AWS build. - -* `compression_level` (integer) - An integer repesenting the - compression level to use when creating the Vagrant box. Valid - values range from 0 to 9, with 0 being no compression and 9 being - the best compression. - -The `vagrantfile_template` has the `Images` variable which is a map -of region (string) to AMI ID (string). An example Vagrantfile template for -AWS is shown below. The example simply sets the AMI for each region. - -``` -Vagrant.configure("2") do |config| - config.vm.provider "aws" do |aws| - {{ range $region, $ami := .Images }} - aws.region_config "{{ $region }}", ami: "{{ $ami }}" - {{ end }} - end -end -``` - -### VirtualBox Provider - -The VirtualBox provider itself can be configured with specific options: - -* `vagrantfile_template` (string) - Path to a template to use for the - Vagrantfile that is packaged with the box. The contents of the file must be a valid Go - [text template](http://golang.org/pkg/text/template). By default this is - a template that just sets the base MAC address so that networking works. - -* `compression_level` (integer) - An integer repesenting the - compression level to use when creating the Vagrant box. Valid - values range from 0 to 9, with 0 being no compression and 9 being - the best compression. - -The `vagrantfile_template` has the `BaseMACAddress` variable which is a string -containing the MAC address of the first network interface. This must be set -in the Vagrantfile for networking to work properly with Vagrant. An example -Vagrantfile template is shown below: - -``` -Vagrant.configure("2") do |config| - config.vm.base_mac = "{{ .BaseMacAddress }}" -end -``` - -### VMware Provider - -The VMware provider itself can be configured with specific options: - -* `vagrantfile_template` (string) - Path to a template to use for the - Vagrantfile that is packaged with the box. The contents of the file must be a valid Go - [text template](http://golang.org/pkg/text/template). By default no - Vagrantfile is packaged with the box. Note that currently no variables - are available in the template, but this may change in the future. - -* `compression_level` (integer) - An integer repesenting the - compression level to use when creating the Vagrant box. Valid - values range from 0 to 9, with 0 being no compression and 9 being - the best compression. + Vagrantfile that is packaged with the box.