2013-06-08 13:47:59 -07:00
|
|
|
---
|
|
|
|
layout: "docs"
|
2014-08-21 17:41:35 -07:00
|
|
|
page_title: "Packer Terminology"
|
2013-06-08 13:47:59 -07:00
|
|
|
---
|
|
|
|
|
|
|
|
# Packer Terminology
|
|
|
|
|
2013-07-03 10:55:25 +01:00
|
|
|
There are a handful of terms used throughout the Packer documentation where
|
2013-06-08 13:47:59 -07:00
|
|
|
the meaning may not be immediately obvious if you haven't used Packer before.
|
|
|
|
Luckily, there are relatively few. This page documents all the terminology
|
|
|
|
required to understand and use Packer. The terminology is in alphabetical
|
|
|
|
order for easy referencing.
|
|
|
|
|
2014-10-20 13:55:16 -04:00
|
|
|
- `Artifacts` are the results of a single build, and are usually a set of IDs
|
|
|
|
or files to represent a machine image. Every builder produces a single
|
|
|
|
artifact. As an example, in the case of the Amazon EC2 builder, the artifact is
|
|
|
|
a set of AMI IDs (one per region). For the VMware builder, the artifact is a
|
|
|
|
directory of files comprising the created virtual machine.
|
|
|
|
|
|
|
|
- `Builds` are a single task that eventually produces an image for a single
|
|
|
|
platform. Multiple builds run in parallel. Example usage in a
|
|
|
|
sentence: "The Packer build produced an AMI to run our web application."
|
|
|
|
Or: "Packer is running the builds now for VMware, AWS, and VirtualBox."
|
|
|
|
|
|
|
|
- `Builders` are components of Packer that are able to create a machine
|
2013-06-08 13:47:59 -07:00
|
|
|
image for a single platform. Builders read in some configuration and use
|
2014-10-20 13:55:16 -04:00
|
|
|
that to run and generate a machine image. A builder is invoked as part of a
|
|
|
|
build in order to create the actual resulting images. Example builders include
|
2013-06-08 13:47:59 -07:00
|
|
|
VirtualBox, VMware, and Amazon EC2. Builders can be created and added to
|
|
|
|
Packer in the form of plugins.
|
|
|
|
|
2014-10-20 13:55:16 -04:00
|
|
|
- `Commands` are sub-commands for the `packer` program that perform some
|
2014-05-04 10:47:40 -07:00
|
|
|
job. An example command is "build", which is invoked as `packer build`.
|
2013-06-08 13:47:59 -07:00
|
|
|
Packer ships with a set of commands out of the box in order to define
|
2014-10-20 13:55:16 -04:00
|
|
|
its command-line interface. Commands can also be created and added to
|
2013-06-08 13:47:59 -07:00
|
|
|
Packer in the form of plugins.
|
|
|
|
|
2014-10-20 13:55:16 -04:00
|
|
|
- `Post-processors` are components of Packer that take the result of
|
|
|
|
a builder or another post-processor and process that to
|
|
|
|
create a new artifact. Examples of post-processors are
|
2013-06-20 14:02:04 -07:00
|
|
|
compress to compress artifacts, upload to upload artifacts, etc.
|
|
|
|
|
2014-10-20 13:55:16 -04:00
|
|
|
- `Provisioners` are components of Packer that install and configure
|
2013-06-08 13:47:59 -07:00
|
|
|
software within a running machine prior to that machine being turned
|
|
|
|
into a static image. They perform the major work of making the image contain
|
|
|
|
useful software. Example provisioners include shell scripts, Chef, Puppet,
|
|
|
|
etc.
|
|
|
|
|
2014-10-20 13:55:16 -04:00
|
|
|
- `Templates` are JSON files which define one or more builds
|
2013-06-08 13:47:59 -07:00
|
|
|
by configuring the various components of Packer. Packer is able to read a
|
|
|
|
template and use that information to create multiple machine images in
|
|
|
|
parallel.
|