github.com/rahart/packer@v0.12.2-0.20161229105310-282bb6ad370f/website/source/docs/post-processors/vagrant-cloud.html.md (about)

     1  ---
     2  description: |
     3      The Packer Vagrant Cloud post-processor receives a Vagrant box from the
     4      `vagrant` post-processor and pushes it to Vagrant Cloud. Vagrant Cloud hosts and
     5      serves boxes to Vagrant, allowing you to version and distribute boxes to an
     6      organization in a simple way.
     7  layout: docs
     8  page_title: 'Vagrant Cloud Post-Processor'
     9  ...
    10  
    11  # Vagrant Cloud Post-Processor
    12  
    13  \~> Vagrant Cloud has been superseded by Atlas. Please use the [Atlas
    14  post-processor](/docs/post-processors/atlas.html) instead. Learn more about
    15  [Atlas](https://atlas.hashicorp.com/).
    16  
    17  Type: `vagrant-cloud`
    18  
    19  The Packer Vagrant Cloud post-processor receives a Vagrant box from the
    20  `vagrant` post-processor and pushes it to Vagrant Cloud. [Vagrant
    21  Cloud](https://atlas.hashicorp.com) hosts and serves boxes to Vagrant, allowing you
    22  to version and distribute boxes to an organization in a simple way.
    23  
    24  You'll need to be familiar with Vagrant Cloud, have an upgraded account to
    25  enable box hosting, and be distributing your box via the [shorthand
    26  name](https://docs.vagrantup.com/v2/cli/box.html) configuration.
    27  
    28  ## Workflow
    29  
    30  It's important to understand the workflow that using this post-processor
    31  enforces in order to take full advantage of Vagrant and Vagrant Cloud.
    32  
    33  The use of this processor assume that you currently distribute, or plan to
    34  distribute, boxes via Vagrant Cloud. It also assumes you create Vagrant Boxes
    35  and deliver them to your team in some fashion.
    36  
    37  Here is an example workflow:
    38  
    39  1.  You use Packer to build a Vagrant Box for the `virtualbox` provider
    40  2.  The `vagrant-cloud` post-processor is configured to point to the box
    41      `hashicorp/foobar` on Vagrant Cloud via the `box_tag` configuration
    42  3.  The post-processor receives the box from the `vagrant` post-processor
    43  4.  It then creates the configured version, or verifies the existence of it, on
    44      Vagrant Cloud
    45  5.  A provider matching the name of the Vagrant provider is then created
    46  6.  The box is uploaded to Vagrant Cloud
    47  7.  The upload is verified
    48  8.  The version is released and available to users of the box
    49  
    50  ## Configuration
    51  
    52  The configuration allows you to specify the target box that you have access to
    53  on Vagrant Cloud, as well as authentication and version information.
    54  
    55  ### Required:
    56  
    57  -   `access_token` (string) - Your access token for the Vagrant Cloud API. This
    58      can be generated on your [tokens
    59      page](https://vagrantcloud.com/account/tokens).
    60  
    61  -   `box_tag` (string) - The shorthand tag for your box that maps to Vagrant
    62      Cloud, i.e `hashicorp/precise64` for `vagrantcloud.com/hashicorp/precise64`
    63  
    64  -   `version` (string) - The version number, typically incrementing a
    65      previous version. The version string is validated based on [Semantic
    66      Versioning](http://semver.org/). The string must match a pattern that could
    67      be semver, and doesn't validate that the version comes after your
    68      previous versions.
    69  
    70  ### Optional:
    71  
    72  -   `no_release` (string) - If set to true, does not release the version on
    73      Vagrant Cloud, making it active. You can manually release the version via
    74      the API or Web UI. Defaults to false.
    75  
    76  -   `vagrant_cloud_url` (string) - Override the base URL for Vagrant Cloud. This
    77      is useful if you're using Vagrant Private Cloud in your own network.
    78      Defaults to `https://vagrantcloud.com/api/v1`
    79  
    80  -   `version_description` (string) - Optionally markdown text used as a
    81      full-length and in-depth description of the version, typically for denoting
    82      changes introduced
    83  
    84  -   `box_download_url` (string) - Optional URL for a self-hosted box. If this is
    85      set the box will not be uploaded to the Vagrant Cloud.
    86  
    87  ## Use with Vagrant Post-Processor
    88  
    89  You'll need to use the Vagrant post-processor before using this post-processor.
    90  An example configuration is below. Note the use of a doubly-nested array, which
    91  ensures that the Vagrant Cloud post-processor is run after the Vagrant
    92  post-processor.
    93  
    94  ``` {.javascript}
    95  {
    96    "variables": {
    97      "version": "",
    98      "cloud_token": ""
    99    },
   100    "builders": [{
   101        // ...
   102    }],
   103    "post-processors": [
   104      [
   105        {
   106          "type": "vagrant",
   107          "include": ["image.iso"],
   108          "vagrantfile_template": "vagrantfile.tpl",
   109          "output": "proxycore_{{.Provider}}.box"
   110        },
   111        {
   112          "type": "vagrant-cloud",
   113          "box_tag": "hashicorp/precise64",
   114          "access_token": "{{user `cloud_token`}}",
   115          "version": "{{user `version`}}"
   116        }
   117      ]
   118    ]
   119  }
   120  ```