github.com/askholme/packer@v0.7.2-0.20140924152349-70d9566a6852/website/source/docs/basics/terminology.html.markdown (about)

     1  ---
     2  layout: "docs"
     3  page_title: "Packer Terminology"
     4  ---
     5  
     6  # Packer Terminology
     7  
     8  There are a handful of terms used throughout the Packer documentation where
     9  the meaning may not be immediately obvious if you haven't used Packer before.
    10  Luckily, there are relatively few. This page documents all the terminology
    11  required to understand and use Packer. The terminology is in alphabetical
    12  order for easy referencing.
    13  
    14  <a class="term" id="term-artifact"></a>
    15  **Artifacts** are the results of a single [build](#term-build), and are
    16  usually a set of IDs or files to represent a machine image. Every [builder](#term-builder)
    17  produces a single artifact. As an example, in the case of the Amazon EC2 builder,
    18  the artifact is a set of AMI IDs (one per region). For the VMware builder,
    19  the artifact is a directory of files comprising the created virtual machine.
    20  
    21  <a class="term" id="term-build"></a>
    22  **Builds** are a single task that eventually produces an image for a single
    23  platform. Multiple builds run in parallel. Example usage in a sentence: "The Packer build
    24  produced an AMI to run our web application." Or: "Packer is running the builds
    25  now for VMware, AWS, and VirtualBox."
    26  
    27  <a class="term" id="term-builder"></a>
    28  **Builders** are components of Packer that are able to create a machine
    29  image for a single platform. Builders read in some configuration and use
    30  that to run and generate a machine image. A builder is invoked as part of a [build](#term-build)
    31  in order to create the actual resulting images. Example builders include
    32  VirtualBox, VMware, and Amazon EC2. Builders can be created and added to
    33  Packer in the form of plugins.
    34  
    35  <a class="term" id="term-command"></a>
    36  **Commands** are sub-commands for the `packer` program that perform some
    37  job. An example command is "build", which is invoked as `packer build`.
    38  Packer ships with a set of commands out of the box in order to define
    39  its [command-line interface](#). Commands can also be created and added to
    40  Packer in the form of plugins.
    41  
    42  <a class="term" id="term-post-processor"></a>
    43  **Post-processors** are components of Packer that take the result of
    44  a [builder](#term-builder) or another post-processor and process that to
    45  create a new [artifact](#term-artifact). Examples of post-processors are
    46  compress to compress artifacts, upload to upload artifacts, etc.
    47  
    48  <a class="term" id="term-provisioner"></a>
    49  **Provisioners** are components of Packer that install and configure
    50  software within a running machine prior to that machine being turned
    51  into a static image. They perform the major work of making the image contain
    52  useful software. Example provisioners include shell scripts, Chef, Puppet,
    53  etc.
    54  
    55  <a class="term" id="term-template"></a>
    56  **Templates** are JSON files which define one or more [builds](#term-build)
    57  by configuring the various components of Packer. Packer is able to read a
    58  template and use that information to create multiple machine images in
    59  parallel.