Merge pull request #4866 from feministy/liz/docs-wording

docs: clarify language for "easy"/"simple", update website readme
This commit is contained in:
Matthew Hooker 2017-05-10 13:40:16 -07:00 committed by GitHub
commit 38536b3d53
20 changed files with 54 additions and 52 deletions

View File

@ -12,7 +12,8 @@ like any normal GitHub project, and we'll merge it in.
## Running the Site Locally
Running the site locally is simple. Clone this repo and run `make website`.
1. Install [Docker](https://docs.docker.com/engine/installation/) if you have not already done so
2. Clone this repo and run `make website`
Then open up `http://localhost:4567`. Note that some URLs you may need to append
".html" to make them work (in the navigation).

View File

@ -6,7 +6,7 @@ description: |-
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.
order for quick referencing.
---
# Packer Terminology
@ -15,7 +15,7 @@ There are a handful of terms used throughout the Packer documentation where 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.
for quick referencing.
- `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.

View File

@ -217,7 +217,7 @@ builder.
The Azure builder uses ARM
[templates](https://azure.microsoft.com/en-us/documentation/articles/resource-group-authoring-templates/) to deploy
resources. ARM templates make it easy to express the what without having to express the how.
resources. ARM templates allow you to express the what without having to express the how.
The Azure builder works under the assumption that it creates everything it needs to execute a build. When the build has
completed it simply deletes the resource group to cleanup any runtime resources. Resource groups are named using the

View File

@ -35,8 +35,9 @@ However, Packer was built with automation in mind. To that end, Packer supports
a fully machine-readable output setting, allowing you to use Packer in automated
environments.
The machine-readable output format is easy to use and read and was made with
Unix tools in mind, so it is awk/sed/grep/etc. friendly.
Because the machine-readable output format was made with Unix tools in mind, it
is `awk`/`sed`/`grep`/etc. friendly and provides a familiar interface without
requiring you to learn a new format.
### Enabling Machine-Readable Output
@ -64,8 +65,8 @@ environments.
### Format for Machine-Readable Output
The machine readable format is a line-oriented, comma-delimited text format.
This makes it extremely easy to parse using standard Unix tools such as awk or
grep in addition to full programming languages like Ruby or Python.
This makes it more convenient to parse using standard Unix tools such as `awk` or
`grep` in addition to full programming languages like Ruby or Python.
The format is:
@ -92,7 +93,7 @@ Each component is explained below:
Within the format, if data contains a comma, it is replaced with
`%!(PACKER_COMMA)`. This was preferred over an escape character such as `\'`
because it is more friendly to tools like awk.
because it is more friendly to tools like `awk`.
Newlines within the format are replaced with their respective standard escape
sequence. Newlines become a literal `\n` within the output. Carriage returns

View File

@ -25,8 +25,8 @@ recommend getting a bit more comfortable before you dive into writing plugins.
## The Interface
The interface that must be implemented for a builder is the `packer.Builder`
interface. It is reproduced below for easy reference. The actual interface in
the source code contains some basic documentation as well explaining what each
interface. It is reproduced below for reference. The actual interface in the
source code contains some basic documentation as well explaining what each
method should do.
```go
@ -109,8 +109,7 @@ respond to these cancellations and clean up after itself.
The `Run` method is expected to return an implementation of the
`packer.Artifact` interface. Each builder must create their own implementation.
The interface is very simple and the documentation on the interface is quite
clear.
The interface has ample documentation to help you get started.
The only part of an artifact that may be confusing is the `BuilderId` method.
This method must return an absolutely unique ID for the builder. In general, I

View File

@ -30,7 +30,7 @@ recommend getting a bit more comfortable before you dive into writing plugins.
## The Interface
The interface that must be implemented for a post-processor is the
`packer.PostProcessor` interface. It is reproduced below for easy reference. The
`packer.PostProcessor` interface. It is reproduced below for reference. The
actual interface in the source code contains some basic documentation as well
explaining what each method should do.

View File

@ -29,7 +29,7 @@ recommend getting a bit more comfortable before you dive into writing plugins.
## The Interface
The interface that must be implemented for a provisioner is the
`packer.Provisioner` interface. It is reproduced below for easy reference. The
`packer.Provisioner` interface. It is reproduced below for reference. The
actual interface in the source code contains some basic documentation as well
explaining what each method should do.

View File

@ -78,7 +78,7 @@ standpoint.
Packer plugins must be written in [Go](https://golang.org/), so it is also
assumed that you're familiar with the language. This page will not be a Go
language tutorial. Thankfully, if you are familiar with Go, the Go toolchain
makes it extremely easy to develop Packer plugins.
provides many conveniences to help to develop Packer plugins.
~> **Warning!** This is an advanced topic. If you're new to Packer, we
recommend getting a bit more comfortable before you dive into writing plugins.
@ -104,9 +104,10 @@ process. Pretty cool.
### Plugin Development Basics
Developing a plugin is quite simple. All the various kinds of plugins have a
corresponding interface. The plugin simply needs to implement this interface and
expose it using the Packer plugin package (covered here shortly), and that's it!
Developing a plugin allows you to create additional functionality for Packer.
All the various kinds of plugins have a corresponding interface. The plugin needs
to implement this interface and expose it using the Packer plugin package
(covered here shortly), and that's it!
There are two packages that really matter that every plugin must use. Other than
the following two packages, you're encouraged to use whatever packages you want.

View File

@ -22,8 +22,8 @@ registry.
## Configuration
The configuration for this post-processor is extremely simple. At least a
repository is required.
The configuration for this post-processor only requires a `repository`, a `tag`
is optional.
- `repository` (string) - The repository of the imported image.

View File

@ -24,7 +24,7 @@ familiar with this and vice versa.
## Configuration
The configuration for this post-processor is extremely simple.
The configuration for this post-processor only requires one option.
- `path` (string) - The path to save the image.

View File

@ -25,8 +25,8 @@ that this works with committed resources, rather than exported.
## Configuration
The configuration for this post-processor is extremely simple. At least a
repository is required.
The configuration for this post-processor requires `repository`, all other settings
are optional.
- `repository` (string) - The repository of the image.

View File

@ -11,8 +11,9 @@ description: |-
Type: `shell-local`
The local shell post processor executes scripts locally during the post processing stage. Shell local provides an easy
way to automate executing some task with the packer outputs.
The local shell post processor executes scripts locally during the post
processing stage. Shell local provides a convenient way to automate executing
some task with the packer outputs.
## Basic example

View File

@ -31,10 +31,11 @@ globally available functions.
## Syntax
The syntax of templates is extremely simple. Anything template related happens
within double-braces: `{{ }}`. Variables are prefixed with a period and
capitalized, such as `{{.Variable}}` and functions are just directly within the
braces, such as `{{timestamp}}`.
The syntax of templates uses the following conventions:
* Anything template related happens within double-braces: `{{ }}`
* Variables are prefixed with a period and capitalized, such as `{{.Variable}}`
* Functions are directly within the braces, such as `{{timestamp}}`
Here is an example from the VMware VMX template that shows configuration
templates in action:

View File

@ -44,9 +44,8 @@ apply to, if you wish.
Within the `post-processors` array in a template, there are three ways to define
a post-processor. There are *simple* definitions, *detailed* definitions, and
*sequence* definitions. Don't worry, they're all very easy to understand, and
the "simple" and "detailed" definitions are simply shortcuts for the "sequence"
definition.
*sequence* definitions. Another way to think about this is that the "simple" and
"detailed" definitions are shortcuts for the "sequence" definition.
A **simple definition** is just a string; the name of the post-processor. An
example is shown below. Simple definitions are used when no additional

View File

@ -26,12 +26,11 @@ how configuration templates work yet, please read that page first.
User variables must first be defined in a `variables` section within your
template. Even if you want a variable to default to an empty string, it must be
defined. This explicitness makes it easy for newcomers to your template to
defined. This explicitness helps reduce the time it takes for newcomers to
understand what can be modified using variables in your template.
The `variables` section is a simple key/value mapping of the variable name to a
default value. A default value can be the empty string. An example is shown
below:
The `variables` section is a key/value mapping of the variable name to a default
value. A default value can be the empty string. An example is shown below:
```json
{
@ -58,11 +57,10 @@ If the default value is `null`, then the user variable will be *required*. This
means that the user must specify a value for this variable or template
validation will fail.
Using the variables is extremely easy. Variables are used by calling the user
function in the form of <code>{{user \`variable\`}}</code>. This function can be
used in *any value* within the template; in builders, provisioners, *anywhere
outside the `variables` section*. The user variable is available globally
within the rest of the template.
Variables are used by calling the user function in the form of
<code>{{user \`variable\`}}</code>. This function can be used in *any value*
within the template; in builders, provisioners, *anywhere outside the `variables`
section*. The user variable is available globally within the rest of the template.
## Environment Variables
@ -121,8 +119,8 @@ earlier set variables if it has already been set.
### From a File
Variables can also be set from an external JSON file. The `-var-file` flag reads
a file containing a basic key/value mapping of variables to values and sets
those variables. The JSON file is simple:
a file containing a key/value mapping of variables to values and sets
those variables. An example JSON file may look like this:
```json
{

View File

@ -30,9 +30,9 @@ $ gem install veewee-to-packer
# ...
```
Once installed, usage is easy! Just point `veewee-to-packer` at the
`definition.rb` file of any template. The converter will output any warnings or
messages about the conversion. The example below converts a CentOS template:
Once installed, just point `veewee-to-packer` at the `definition.rb` file of any
template. The converter will output any warnings or messages about the conversion.
The example below converts a CentOS template:
```text
$ veewee-to-packer templates/CentOS-6.4/definition.rb

View File

@ -175,7 +175,7 @@ you will also need to set `associate_public_ip_address` to `true`, or set up a
Packer only builds images. It does not attempt to manage them in any way. After
they're built, it is up to you to launch or destroy them as you see fit. If you
want to store and namespace images for easy reference, you can use [Atlas by
want to store and namespace images for quick reference, you can use [Atlas by
HashiCorp](https://atlas.hashicorp.com). We'll cover remotely building and
storing images at the end of this getting started guide.

View File

@ -4,7 +4,7 @@ sidebar_current: intro-getting-started-install
page_title: Install Packer - Getting Started
description: |-
Packer must first be installed on the machine you want to run it on. To make
installation easy, Packer is distributed as a binary package for all supported
installation easier, Packer is distributed as a binary package for all supported
platforms and architectures. This page will not cover how to compile Packer
from source, as that is covered in the README and is only recommended for
advanced users.
@ -13,7 +13,7 @@ description: |-
# Install Packer
Packer must first be installed on the machine you want to run it on. To make
installation easy, Packer is distributed as a [binary package](/downloads.html)
installation easier, Packer is distributed as a [binary package](/downloads.html)
for all supported platforms and architectures. This page will not cover how to
compile Packer from source, as that is covered in the
[README](https://github.com/hashicorp/packer/blob/master/README.md) and is only

View File

@ -166,7 +166,8 @@ us-east-1: ami-376d1d5e
As you can see, Packer builds both the Amazon and DigitalOcean images in
parallel. It outputs information about each in different colors (although you
can't see that in the block above) so that it is easy to identify.
can't see that in the block above), making it is easier to identify the actions
executed when you execute the command.
At the end of the build, Packer outputs both of the artifacts created (an AMI
and a DigitalOcean snapshot). Both images created are bare bones Ubuntu

View File

@ -86,7 +86,7 @@ when you click on the active build, you can view the logs in real-time.
Now we have Atlas building an AMI with Redis pre-configured. This is great, but
it's even better to store and version the AMI output so it can be easily
deployed by a tool like [Terraform](https://www.terraform.io). The `atlas`
[post-processor](/docs/post-processors/atlas.html) makes this process simple:
[post-processor](/docs/post-processors/atlas.html) makes this process easier:
```json
{