github.com/phobos182/packer@v0.2.3-0.20130819023704-c84d2aeffc68/website/source/docs/basics/terminology.html.markdown (about)

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