Added Packer docs to TFE

This commit is contained in:
Chris Riley 2017-03-22 10:31:44 -07:00 committed by Seth Vargo
parent 8a1d2cca14
commit 41619e0a57
No known key found for this signature in database
GPG Key ID: C921994F9C27E0FF
17 changed files with 237 additions and 128 deletions

View File

@ -1,29 +1,32 @@
--- ---
title: "Creating AMI Artifacts with Atlas" layout: "packer"
page_title: "Creating AMI Artifacts"
sidebar_current: "docs-enterprise-packer-artifacts-amis"
description: |-
Creating AMI artifacts with Terraform Enterprise.
--- ---
# Creating AMI Artifacts with Atlas # Creating AMI Artifacts with Terraform Enterprise
In an [immutable infrastructure](/help/intro/use-cases/continuous-deployment-of-immutable-infrastructure) In an immutable infrastructure workflow, it's important to version and store full images (artifacts)
workflow, it's important to version and store full images (artifacts)
to be deployed. This section covers storing [AWS AMI](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) to be deployed. This section covers storing [AWS AMI](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html)
images in Atlas to be queried and used later. images in Terraform Enterprise to be queried and used later.
Note the actual AMI does _not get stored in Atlas_. Atlas Note the actual AMI does _not get stored_. Terraform Enterprise
simply keeps the AMI ID as a reference to the target image. Tools simply keeps the AMI ID as a reference to the target image. Tools
like Terraform can then use this in a deploy. like Terraform can then use this in a deploy.
### Steps ### Steps
If you run Packer in Atlas, the following will happen after a [push](/help/packer/builds/starting): If you run Packer in Terraform Enterprise, the following will happen after a [push](/docs/enterprise/packer/builds/starting.html):
1. Atlas will run `packer build` against your template in our infrastructure. 1. Terraform Enterprise will run `packer build` against your template in our infrastructure.
This spins up an AWS instance in your account and provisions it with This spins up an AWS instance in your account and provisions it with
any specified provisioners any specified provisioners
1. Packer stops the instance and stores the result as an AMI in AWS 2. Packer stops the instance and stores the result as an AMI in AWS
under your account. This then returns an ID (the artifact) that it passes to the Atlas post-processor under your account. This then returns an ID (the artifact) that it passes to the post-processor
1. The Atlas post-processor creates and uploads the new artifact version with the 3. The post-processor creates and uploads the new artifact version with the
ID in Atlas of the type `amazon.image` for use later ID in Terraform Enterprise of the type `amazon.image` for use later
### Example ### Example
@ -43,7 +46,7 @@ Below is a complete example Packer template that starts an AWS instance.
"source_ami": "ami-2ccc7a44", "source_ami": "ami-2ccc7a44",
"instance_type": "c3.large", "instance_type": "c3.large",
"ssh_username": "ubuntu", "ssh_username": "ubuntu",
"ami_name": "Atlas Example {{ timestamp }}" "ami_name": "TFE Example {{ timestamp }}"
} }
], ],
"post-processors": [ "post-processors": [

View File

@ -1,33 +1,28 @@
--- ---
title: "Creating Vagrant Boxes with Packer" layout: "packer"
page_title: "Creating Vagrant Artifacts"
sidebar_current: "docs-enterprise-packer-artifacts-vagrant"
description: |-
Creating Vagrant artifacts with Terraform Enterprise.
--- ---
# Creating Vagrant Boxes with Packer # Creating Vagrant Boxes with Packer
We recommend using Packer to create boxes, as is it is fully repeatable and keeps a strong We recommend using Packer to create boxes, as is it is fully repeatable and keeps a strong
history of changes within Atlas. history of changes within Terraform Enterprise.
## Getting Started ## Getting Started
Using Packer requires more up front effort, but the repeatable and Using Packer requires more up front effort, but the repeatable and
automated builds will end any manual management of boxes. Additionally, automated builds will end any manual management of boxes. Additionally,
all boxes will be stored and served from Atlas, keeping a history along all boxes will be stored and served from Terraform Enterprise, keeping a history along
the way. the way.
Some useful Vagrant Boxes documentation will help you learn
about managing Vagrant boxes in Atlas.
- [Vagrant Box Lifecycle](/help/vagrant/boxes/lifecycle)
- [Distributing Vagrant Boxes with Atlas](/help/vagrant/boxes/distributing)
You can also read on to learn more about how Packer uploads and versions
the boxes with post-processors.
## Post-Processors ## Post-Processors
Packer uses [post-processors](https://packer.io/docs/templates/post-processors.html) to define how to process Packer uses [post-processors](https://packer.io/docs/templates/post-processors.html) to define how to process
images and artifacts after provisioning. Both the `vagrant` and `atlas` post-processors must be used in order images and artifacts after provisioning. Both the `vagrant` and `atlas` post-processors must be used in order
to upload Vagrant Boxes to Atlas via Packer. to upload Vagrant Boxes to Terraform Enterprise via Packer.
It's important that they are [sequenced](https://packer.io/docs/templates/post-processors.html) It's important that they are [sequenced](https://packer.io/docs/templates/post-processors.html)
in the Packer template so they run in order. This is done by nesting arrays: in the Packer template so they run in order. This is done by nesting arrays:
@ -62,10 +57,9 @@ passing it to the `atlas` post-processor.
The input artifact (i.e and `.ovf` file) does not need to be kept when building Vagrant Boxes, The input artifact (i.e and `.ovf` file) does not need to be kept when building Vagrant Boxes,
as the resulting `.box` will contain it. as the resulting `.box` will contain it.
### Atlas Post-Processor ### Post-Processor
The [Atlas post-processor](https://packer.io/docs/post-processors/atlas.html) takes the resulting `.box` file and uploads The [post-processor](https://packer.io/docs/post-processors/atlas.html) takes the resulting `.box` file and uploads it adding metadata about the box version.
it to Atlas, adding metadata about the box version.
{ {
"type": "atlas", "type": "atlas",
@ -79,20 +73,20 @@ it to Atlas, adding metadata about the box version.
#### Attributes Required #### Attributes Required
These are all of the attributes for that Atlas post-processor These are all of the attributes for that post-processor
required for uploading Vagrant Boxes. A complete example is shown below. required for uploading Vagrant Boxes. A complete example is shown below.
- `artifact`: The username and box name (`username/name`) you're creating the version - `artifact`: The username and box name (`username/name`) you're creating the version
of the box under. If the box doesn't exist, it will be automatically of the box under. If the box doesn't exist, it will be automatically
created created
- `artifact_type`: This must be `vagrant.box`. Atlas uses this to determine - `artifact_type`: This must be `vagrant.box`. Terraform Enterprise uses this to determine
how to treat this artifact. how to treat this artifact.
For `vagrant.box` type artifacts, you can specify keys in the metadata block: For `vagrant.box` type artifacts, you can specify keys in the metadata block:
- `provider`: The Vagrant provider for the box. Common providers are - `provider`: The Vagrant provider for the box. Common providers are
`virtualbox`, `vmware_desktop`, `aws` and so on _(required)_ `virtualbox`, `vmware_desktop`, `aws` and so on _(required)_
- `version`: This is the Vagrant box [version](/help/vagrant/boxes/lifecycle) and is constrained to the - `version`: This is the Vagrant box version and is constrained to the
same formatting as in the web UI: `*.*.*` _(optional, but required for boxes same formatting as in the web UI: `*.*.*` _(optional, but required for boxes
with multiple providers). The version will increment on the minor version if left blank (e.g the initial version will be set to 0.1.0, the subsequent version will be set to 0.2.0)._ with multiple providers). The version will increment on the minor version if left blank (e.g the initial version will be set to 0.1.0, the subsequent version will be set to 0.2.0)._
- `description`: This is the desciption that will be shown with the - `description`: This is the desciption that will be shown with the
@ -100,7 +94,7 @@ version of the box. You can use Markdown for links and style. _(optional)_
## Example ## Example
An example post-processor block for Atlas and Vagrant is below. In this example, An example post-processor block for Terraform Enterprise and Vagrant is below. In this example,
the build runs on both VMware and Virtualbox creating two the build runs on both VMware and Virtualbox creating two
different providers for the same box version (`0.0.1`). different providers for the same box version (`0.0.1`).

View File

@ -1,17 +1,21 @@
--- ---
title: "About Packer and Artifacts " layout: "packer"
page_title: "About Packer and Artifacts"
sidebar_current: "docs-enterprise-packer-artifacts"
description: |-
Packer creates and uploads artifacts to Terraform Enterprise.
--- ---
# About Packer and Artifacts # About Packer and Artifacts
Packer creates and uploads artifacts to Atlas. This is done Packer creates and uploads artifacts to Terraform Enterprise. This is done
with the [Atlas post-processor](https://packer.io/docs/post-processors/atlas.html). with the [post-processor](https://packer.io/docs/post-processors/atlas.html).
Artifacts can then be used in Atlas to deploy services or access Artifacts can then be used to deploy services or access
via Vagrant. Artifacts are generic, but can be of varying types. via Vagrant. Artifacts are generic, but can be of varying types.
These types define different behavior within Atlas. These types define different behavior within Terraform Enterprise.
For uploading artifacts to Atlas, `artifact_type` can be set to any For uploading artifacts `artifact_type` can be set to any
unique identifier, however, the following are recommended for consistency. unique identifier, however, the following are recommended for consistency.
- `amazon.image` - `amazon.image`
@ -28,9 +32,9 @@ unique identifier, however, the following are recommended for consistency.
- `application.archive` - `application.archive`
- `vagrant.box` - `vagrant.box`
Packer can create artifacts when running in Atlas or locally. Packer can create artifacts when running in Terraform Enterprise or locally.
This is possible due to the post-processors use of the public This is possible due to the post-processors use of the public
artifact API to store the artifacts. artifact API to store the artifacts.
You can read more about artifacts and their use in the [Terraform section](/help/terraform/features) You can read more about artifacts and their use in the [Terraform section](/docs/enterprise/)
of the documentation. of the documentation.

View File

@ -1,14 +1,18 @@
--- ---
title: "Packer Build Environment" layout: "packer"
page_title: "Packer Build Environment"
sidebar_current: "docs-enterprise-packer-builds-environment"
description: |-
This page outlines the environment that Packer runs in within Terraform Enterprise.
--- ---
# Packer Build Environment # Packer Build Environment
This page outlines the environment that Packer runs in within Atlas. This page outlines the environment that Packer runs in within Terraform Enterprise.
### Supported Builders ### Supported Builders
Atlas currently supports running the following Packer builders: Terraform Enterprise currently supports running the following Packer builders:
- amazon-chroot - amazon-chroot
- amazon-ebs - amazon-ebs
@ -48,7 +52,7 @@ An example of this with the Shell provisioner is below.
] ]
We encourage use of relative paths over absolute paths to maintain portability We encourage use of relative paths over absolute paths to maintain portability
between Atlas and local builds. between Terraform Enterprise and local builds.
The total size of all files in the package being uploaded via The total size of all files in the package being uploaded via
[Packer push or GitHub](/help/packer/builds/starting) must be 5 GB or less. [Packer push or GitHub](/help/packer/builds/starting) must be 5 GB or less.
@ -74,8 +78,7 @@ used to configure your build with secrets or other key value configuration.
Variables are encrypted and stored securely. Variables are encrypted and stored securely.
Additionally, the following environment variables are automatically injected by Additionally, the following environment variables are automatically injected. All injected environment variables will be prefixed with `ATLAS_`
Atlas. All Atlas-injected environment variables will be prefixed with `ATLAS_`
- `ATLAS_TOKEN` - This is a unique, per-build token that expires at the end of - `ATLAS_TOKEN` - This is a unique, per-build token that expires at the end of
build execution (e.g. `"abcd.atlasv1.ghjkl..."`) build execution (e.g. `"abcd.atlasv1.ghjkl..."`)
@ -160,7 +163,7 @@ AWS example:
## Notes on Security ## Notes on Security
Packer environment variables in Atlas are encrypted using [Vault](https://vaultproject.io) Packer environment variables in Terraform Enterprise are encrypted using [Vault](https://vaultproject.io)
and closely guarded and audited. If you have questions or concerns and closely guarded and audited. If you have questions or concerns
about the safety of your configuration, please contact our security team about the safety of your configuration, please contact our security team
at [security@hashicorp.com](mailto:security@hashicorp.com). at [security@hashicorp.com](mailto:security@hashicorp.com).

View File

@ -1,28 +1,32 @@
--- ---
title: "How Packer Builds Run in Atlas" layout: "packer"
page_title: "Running Packer Builds"
sidebar_current: "docs-enterprise-packer-builds-runbuilds"
description: |-
This briefly covers the internal process of running builds in Terraform Enterprise.
--- ---
# How Packer Builds Run in Atlas # How Packer Builds Run in Terraform Enterprise
This briefly covers the internal process of running builds in Atlas. It's This briefly covers the internal process of running builds in Terraform Enterprise. It's
not necessary to know this information, but may be valuable to not necessary to know this information, but may be valuable to
help understand implications of running in Atlas or debug failing help understand implications of running or debugging failing
builds. builds.
### Steps of Execution ### Steps of Execution
1. A Packer template and directory of files is uploaded via Packer Push or GitHub 1. A Packer template and directory of files is uploaded via Packer Push or GitHub
1. Atlas creates a version of the build configuration and waits for the upload 2. Terraform Enterprise creates a version of the build configuration and waits for the upload
to complete. At this point, the version will be visible in the UI even if the upload has to complete. At this point, the version will be visible in the UI even if the upload has
not completed not completed
1. Once the upload finishes, Atlas queues the build. This is potentially 3. Once the upload finishes, the build is queued. This is potentially
split across multiple machines for faster processing split across multiple machines for faster processing
1. In the build environment, the package including the files and Packer template 4. In the build environment, the package including the files and Packer template
are downloaded are downloaded
1. `packer build` is run against the template in the build environment 5. `packer build` is run against the template in the build environment
1. Logs are streamed into the UI and stored 6. Logs are streamed into the UI and stored
1. Any artifacts as part of the build are then uploaded via the public 7. Any artifacts as part of the build are then uploaded via the public
Atlas artifact API, as they would be if Packer was executed locally artifact API, as they would be if Packer was executed locally
1. The build completes, the environment is teared down and status 8. The build completes, the environment is teared down and status
updated within Atlas updated

View File

@ -1,15 +1,19 @@
--- ---
title: "About Builds" layout: "packer"
page_title: "About Builds"
sidebar_current: "docs-enterprise-packer-builds"
description: |-
Builds are instances of `packer build` being run within Terraform Enterprise.
--- ---
# About Builds # About Builds
Builds are instances of `packer build` being run within Atlas. Every Builds are instances of `packer build` being run within Terraform Enterprise. Every
build belongs to a build configuration. build belongs to a build configuration.
__Build configurations__ represent a set of Packer configuration versions and __Build configurations__ represent a set of Packer configuration versions and
builds run. It is used as a namespace within Atlas, Packer commands and URLs. Packer builds run. It is used as a namespace within Terraform Enterprise, Packer commands and URLs. Packer
configuration sent to Atlas are stored and versioned under configuration sent to Terraform Enterprise are stored and versioned under
these build configurations. these build configurations.
These __versions__ of Packer configuration can contain: These __versions__ of Packer configuration can contain:
@ -17,12 +21,11 @@ These __versions__ of Packer configuration can contain:
- The Packer template, a JSON file which define one or - The Packer template, a JSON file which define one or
more builds by configuring the various components of Packer more builds by configuring the various components of Packer
- Any provisioning scripts or packages used by the template - Any provisioning scripts or packages used by the template
- Applications that use the build as part of the [pipeline](/help/applications/build-pipeline) and merged into the version - Applications that use the build as part of the pipeline and merged into the version prior to running Packer on it
prior to Atlas running Packer on it
When Atlas receives a new version of Packer configuration and associated When a new version of Packer configuration and associated
scripts from GitHub or `packer push`, it automatically starts a new scripts from GitHub or `packer push` is recieved, it automatically starts a new
Packer build. That Packer build runs in an isolated machine environment with the contents Packer build. That Packer build runs in an isolated machine environment with the contents
of that version available to it. of that version available to it.
You can be alerted of build events with [Build Notifications](/help/packer/builds/notifications). You can be alerted of build events with [Build Notifications](/docs/enterprise/packer/builds/notifications.html).

View File

@ -1,10 +1,14 @@
--- ---
title: "Installing Software" layout: "packer"
page_title: "Installing Software with Packer"
sidebar_current: "docs-enterprise-packer-builds-installing"
description: |-
Installing software with Packer.
--- ---
# Installing Software # Installing Software
Please review the [Packer Build Environment](/help/packer/builds/build-environment) Please review the [Packer Build Environment](/docs/enterprise/builds/build-environment.html)
specification for important information on isolation, security, and hardware specification for important information on isolation, security, and hardware
limitations before continuing. limitations before continuing.

View File

@ -1,7 +1,11 @@
--- ---
title: "Linked Applications" layout: "packer"
page_title: "Linked Applications"
sidebar_current: "docs-enterprise-packer-builds-linkedapps"
description: |-
Linked applications have been deprecated in favor of the application build pipeline.
--- ---
# Linked Applications # Linked Applications
Linked applications have been deprecated in favor of the [application build pipeline](/help/applications/build-pipeline). Linked applications have been deprecated in favor of the application build pipeline.

View File

@ -1,23 +1,27 @@
--- ---
title: "Managing Packer Versions" layout: "packer"
page_title: "Managing Packer Versions"
sidebar_current: "docs-enterprise-packer-builds-versions"
description: |-
Terraform Enterprise does not automatically upgrade the version of Packer used to run builds or compiles.
--- ---
# Managing Packer Versions # Managing Packer Versions
Atlas does not automatically upgrade the version of Packer Terraform Enterprise does not automatically upgrade the version of Packer
used to run builds or compiles. This is intentional, as occasionally used to run builds or compiles. This is intentional, as occasionally
there can be backwards incompatible changes made to Packer that cause templates to stop there can be backwards incompatible changes made to Packer that cause templates to stop
building properly, or new versions that produce some other unexpected behavior. building properly, or new versions that produce some other unexpected behavior.
All upgrades must be performed by a user, but Atlas will display a notice All upgrades must be performed by a user, but Terraform Enterprise will display a notice
above any builds run with out of date versions. We encourage the use above any builds run with out of date versions. We encourage the use
of the latest version when possible. of the latest version when possible.
### Upgrading Packer ### Upgrading Packer
1. Go the Settings tab of a build configuration or application 1. Go the Settings tab of a build configuration or application
1. Go to the "Packer Version" section and select the version you 2. Go to the "Packer Version" section and select the version you
wish to use wish to use
1. Review the changelog for that version and previous versions 3. Review the changelog for that version and previous versions
1. Click the save button. At this point, future builds will use that 4. Click the save button. At this point, future builds will use that
version version

View File

@ -1,17 +1,20 @@
--- ---
title: "About Packer Build Notifications" layout: "packer"
page_title: "About Packer Build Notifications"
sidebar_current: "docs-enterprise-packer-builds-notifications"
description: |-
Terraform Enterprise can send build notifications to your organization.
--- ---
# About Packer Build Notifications # About Packer Build Notifications
Atlas can send build notifications to your organization via one of our Terraform Enterprise can send build notifications to your organization for the
[supported notification methods](/help/consul/alerts/notification-methods). The following events:
following events are configurable:
- **Starting** - The build has begun. - **Starting** - The build has begun.
- **Finished** - All build jobs have finished successfully. - **Finished** - All build jobs have finished successfully.
- **Errored** - An error has occurred during one of the build jobs. - **Errored** - An error has occurred during one of the build jobs.
- **Canceled** - A user in Atlas has canceled the build. - **Canceled** - A user has canceled the build.
> Emails will include logs for the **Finished** and **Errored** events. > Emails will include logs for the **Finished** and **Errored** events.

View File

@ -1,5 +1,9 @@
--- ---
title: "Rebuilding Builds" layout: "packer"
page_title: "Rebuilding Builds"
sidebar_current: "docs-enterprise-packer-builds-rebuilding"
description: |-
Sometimes builds fail due to temporary or remotely controlled conditions.
--- ---
# Rebuilding Builds # Rebuilding Builds

View File

@ -1,15 +1,19 @@
--- ---
title: "Schedule Periodic Builds in Atlas" layout: "packer"
page_title: "Schedule Periodic Builds"
sidebar_current: "docs-enterprise-packer-builds-scheduling"
description: |-
Terraform Enterprise can automatically run a Packer build and create artifacts on a specified schedule.
--- ---
# Schedule Periodic Builds in Atlas # Schedule Periodic Builds in Terraform Enterprise
Atlas can automatically run a Packer build and Terraform Enterprise can automatically run a Packer build and
create artifacts on a specified schedule. This option is disabled by default and can be enabled by an create artifacts on a specified schedule. This option is disabled by default and can be enabled by an
organization owner on a per-[environment](/help/glossary#environment) basis. organization owner on a per-[environment](/docs/enterprise/glossary#environment) basis.
On the specified interval, Atlas will automatically queue a build that On the specified interval, builds will be automatically queued that
runs Packer for you, creating any artifacts and sending the appropriate run Packer for you, creating any artifacts and sending the appropriate
notifications. notifications.
If your artifacts are used in any other environments and you have activated If your artifacts are used in any other environments and you have activated
@ -21,12 +25,9 @@ or to build nightly style images for staging or development environments.
## Enabling Periodic Builds ## Enabling Periodic Builds
To enable periodic builds for a build, visit the build settings page in To enable periodic builds for a build, visit the build settings page and select the desired interval and click the save button to persist the changes. An initial build may immediately run, depending
Atlas and select the desired interval and click the save button to
persist the changes. An initial build may immediately run, depending
on the history, and then will automatically build at the specified interval. on the history, and then will automatically build at the specified interval.
If you have run a build separately, either manually or triggered from GitHub If you have run a build separately, either manually or triggered from GitHub
or Packer configuration version uploads, Atlas will not queue a new or Packer configuration version uploads, Terraform Enterprise will not queue a new
build until the alloted time after the manual build ran. This means that build until the alloted time after the manual build ran. This ensures that a build has been executed at the specified schedule.
Atlas simply ensures that a build has been executed at the specified schedule.

View File

@ -1,10 +1,14 @@
--- ---
title: "Starting Packer Builds in Atlas" layout: "packer"
page_title: "Starting Packer Builds in Terraform Enterprise"
sidebar_current: "docs-enterprise-packer-builds-starting"
description: |-
Packer builds can be started in Terraform Enterprise in two ways. This post is about how.
--- ---
# Starting Packer Builds in Atlas # Starting Packer Builds in Terraform Enterprise
Packer builds can be started in Atlas in two ways: `packer push` Packer builds can be started in in two ways: `packer push`
to upload the template and directory or via a GitHub connection that retrieves to upload the template and directory or via a GitHub connection that retrieves
the contents of a repository after changes to the default branch (usually the contents of a repository after changes to the default branch (usually
master). master).
@ -12,8 +16,7 @@ master).
### Packer Push ### Packer Push
Packer `push` is a [Packer command](https://packer.io/docs/command-line/push.html) Packer `push` is a [Packer command](https://packer.io/docs/command-line/push.html)
that packages and uploads a Packer template and directory to Atlas. This then creates a build that packages and uploads a Packer template and directory. This then creates a build which performs `packer build` against the uploaded template
in Atlas, which performs `packer build` against the uploaded template
and packaged directory. and packaged directory.
The directory is included in order to run any associated provisioners, The directory is included in order to run any associated provisioners,
@ -25,7 +28,7 @@ By default, everything in your directory is uploaded as part of the push.
However, it's not always the case that the entire directory should be uploaded. Often, However, it's not always the case that the entire directory should be uploaded. Often,
temporary or cache directories and files like `.git`, `.tmp` will be included by default. This temporary or cache directories and files like `.git`, `.tmp` will be included by default. This
can cause Atlas to fail at certain sizes and should be avoided. You can can cause builds to fail at certain sizes and should be avoided. You can
specify [exclusions](https://packer.io/docs/templates/push.html#exclude) to avoid this situation. specify [exclusions](https://packer.io/docs/templates/push.html#exclude) to avoid this situation.
Packer also allows for a [VCS option](https://packer.io/docs/templates/push.html#vcs) Packer also allows for a [VCS option](https://packer.io/docs/templates/push.html#vcs)
@ -39,14 +42,14 @@ like git, this basically does a `git ls-files`.
Optionally, GitHub can be used to import Packer templates and configurations. Optionally, GitHub can be used to import Packer templates and configurations.
When used within an organization, this can be extremely valuable for keeping When used within an organization, this can be extremely valuable for keeping
differences in environments and last mile changes from occurring before an differences in environments and last mile changes from occurring before an
upload to Atlas. upload.
After you have [connected your GitHub account to Atlas](/settings/connections), After you have [connected your GitHub account](/docs/enterprise/vcs/github.html) to Terraform Enterprise,
you can connect your [Build Configuration](/help/glossary#build-configuration) you can connect your [Build Configuration](/docs/enterprise/glossary#build-configuration)
to the target GitHub repository. The GitHub repository will be linked to the to the target GitHub repository. The GitHub repository will be linked to the
Atlas Packer configuration, and GitHub will start sending webhooks to Atlas. Packer configuration, and GitHub will start sending webhooks.
Certain GitHub webhook events, detailed below, will cause the repository to be Certain GitHub webhook events, detailed below, will cause the repository to be
automatically ingressed into Atlas and stored, along with references to the automatically ingressed into Terraform Enterprise and stored, along with references to the
GitHub commits and authorship information. GitHub commits and authorship information.
After each ingress the configuration will automatically build. After each ingress the configuration will automatically build.
@ -60,7 +63,7 @@ Supported GitHub webhook events:
- ingress when a tag is created - ingress when a tag is created
- ingress when the default branch is updated - ingress when the default branch is updated
- note: the default branch is either configured on your configuration's - note: the default branch is either configured on your configuration's
integrations tab in Atlas, or if that is blank it is the GitHub integrations tab in Terraform Enterprise, or if that is blank it is the GitHub
repository's default branch repository's default branch
- create (off by default) - create (off by default)
- ingress when a tag is created - ingress when a tag is created

View File

@ -1,10 +1,14 @@
--- ---
title: "Troubleshooting Failing Builds" layout: "packer"
page_title: "Troubleshooting Failing Builds"
sidebar_current: "docs-enterprise-packer-builds-troubleshooting"
description: |-
Packer builds can fail in Terraform Enterprise for a number of reasons improper configuration, transient networking errors, and hardware constraints are all possible.
--- ---
# Troubleshooting Failing Builds # Troubleshooting Failing Builds
Packer builds can fail in Atlas for a number of reasons improper Packer builds can fail in Terraform Enterprise for a number of reasons improper
configuration, transient networking errors, and hardware constraints configuration, transient networking errors, and hardware constraints
are all possible. Below is a list of debugging options you can use. are all possible. Below is a list of debugging options you can use.
@ -42,10 +46,10 @@ more about [debugging Packer builds](https://packer.io/docs/other/debugging.html
### Hardware Limitations ### Hardware Limitations
Your build may be failing by requesting larger memory or Your build may be failing by requesting larger memory or
disk usage then is available. Read more about the [build environment](/help/packer/builds/build-environment#hardware-limitations). disk usage then is available. Read more about the [build environment](/docs/enterprise/packer/builds/build-environment#hardware-limitations).
_Typically_ Packer builds that fail due to requesting hardware limits _Typically_ Packer builds that fail due to requesting hardware limits
that exceed Atlas's [hardware limitations](/help/packer/builds/build-environment#hardware-limitations) that exceed Terraform Enterprise's [hardware limitations](/docs/enterprise/packer/builds/build-environment#hardware-limitations)
will fail with a _The operation was canceled_ error message as shown below: will fail with a _The operation was canceled_ error message as shown below:
``` ```
@ -66,14 +70,14 @@ Build 'vmware-iso' errored: Error starting VM: VMware error: Error: The operatio
### Local Debugging ### Local Debugging
Sometimes it's faster to debug failing builds locally. In this case, Sometimes it's faster to debug failing builds locally. In this case,
you'll want to [install Packer](/help/intro/updating-tools) and any providers (like Virtualbox) necessary. you'll want to [install Packer](https://www.packer.io/intro/getting-started/setup.html) and any providers (like Virtualbox) necessary.
Because Atlas runs the open source version of Packer, there should be Because Terraform Enterprise runs the open source version of Packer, there should be
no difference in execution between the two, other than the environment that no difference in execution between the two, other than the environment that
Packer is running in. For more on hardware constraints in the Atlas environment Packer is running in. For more on hardware constraints in the Terraform Enterprise environment
read below. read below.
Once your builds are running smoothly locally you can push it up to Atlas Once your builds are running smoothly locally you can push it up to Terraform Enterprise
for versioning and automated builds. for versioning and automated builds.
### Internal Errors ### Internal Errors
@ -90,7 +94,7 @@ when applications or builds are linked to a GitHub repository and the
directory and/or template paths are incorrect. Double check that the paths directory and/or template paths are incorrect. Double check that the paths
specified when you linked the GitHub repository match the actual paths specified when you linked the GitHub repository match the actual paths
to your template file._ to your template file._
- SEC-001: Your data was being unpacked from a tarball uploaded to Atlas - SEC-001: Your data was being unpacked from a tarball uploaded
and encountered an error. This can be caused by bad permissions, using and encountered an error. This can be caused by bad permissions, using
symlinks or very large tarball sizes. symlinks or very large tarball sizes.
@ -107,6 +111,6 @@ the mailing list or IRC. All bug reports should go to GitHub.
### Getting Support ### Getting Support
If you believe your build is failing as a result of a bug in Atlas, If you believe your build is failing as a result of a bug in Terraform Enterprise,
or would like other support, please [email us](mailto:support@hashicorp.com). or would like other support, please [email us](mailto:support@hashicorp.com).

View File

@ -1,16 +1,19 @@
--- ---
title: "Packer Features in Atlas" layout: "packer"
page_title: "Packer Features in Terraform Enterprise"
sidebar_current: "docs-enterprise-packer"
description: |-
Packer is a tool for creating images for platforms such as Amazon AWS, OpenStack, VMware, VirtualBox, Docker, and more — all from a single source configuration.
--- ---
# Packer Features in Atlas # Packer Features in Terraform Enterprise
[Packer](https://packer.io) is a tool for creating images for platforms such as Amazon AWS, [Packer](https://packer.io) is a tool for creating images for platforms such as Amazon AWS,
OpenStack, VMware, VirtualBox, Docker, and more — all from a single OpenStack, VMware, VirtualBox, Docker, and more — all from a single
source configuration. source configuration.
This is a list of features specific to Packer This is a list of features specific to Packer that Terraform Enterprise provides.
that Atlas provides.
- [Running Packer Builds](/help/packer/builds) - [Running Packer Builds](/docs/enterprise/packer/builds/index.html)
- [Creating and Uploading AMIs](/help/packer/artifacts/creating-amis) - [Creating and Uploading AMIs](/docs/enterprise/packer/artifacts/creating-amis/index.html)
- [Creating Vagrant Boxes](/help/packer/artifacts/creating-vagrant-boxes) - [Creating Vagrant Boxes](/docs/enterprise/packer/artifacts/creating-vagrant-boxes/index.html)

View File

@ -564,6 +564,9 @@
<li<%= sidebar_current("docs-enterprise-organizations") %>> <li<%= sidebar_current("docs-enterprise-organizations") %>>
<a href="/docs/enterprise/organizations/index.html">Organizations</a> <a href="/docs/enterprise/organizations/index.html">Organizations</a>
</li> </li>
<li<%= sidebar_current("docs-enterprise-packer") %>>
<a href="/docs/enterprise/packer/index.html">Packer</a>
</li>
<li<%= sidebar_current("docs-enterprise-api") %>> <li<%= sidebar_current("docs-enterprise-api") %>>
<a href="/docs/enterprise/api/index.html">API</a> <a href="/docs/enterprise/api/index.html">API</a>
</li> </li>

View File

@ -0,0 +1,65 @@
<% wrap_layout :inner do %>
<% content_for :sidebar do %>
<div class="docs-sidebar hidden-print affix-top" role="complementary">
<ul class="nav docs-sidenav">
<li>
<a href="/docs/enterprise/index.html">&laquo; Terraform Enterprise</a>
</li>
<li<%= sidebar_current(/^docs-enterprise-packer-/) %>>
<a href="/docs/enterprise/packer/index.html">Packer</a>
<ul class="nav nav-visible">
<li<%= sidebar_current("docs-enterprise-packer-artifacts") %>>
<a href="/docs/enterprise/packer/artifacts/index.html">Artifacts</a>
<ul class="nav nav-visible">
<li<%= sidebar_current("docs-enterprise-packer-artifacts-amis") %>>
<a href="/docs/enterprise/packer/artifacts/creating-amis.html">Creating AMIs</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-artifacts-vagrant") %>>
<a href="/docs/enterprise/packer/artifacts/creating-vagrant-boxes.html">Creating Vagrant Boxes</a>
</li>
</ul>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds") %>>
<a href="/docs/enterprise/packer/builds/index.html">Builds</a>
<ul class="nav nav-visible">
<li<%= sidebar_current("docs-enterprise-packer-builds-starting") %>>
<a href="/docs/enterprise/packer/builds/starting.html">Starting Builds</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-installing") %>>
<a href="/docs/enterprise/packer/builds/installing-software.html">Installing Software</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-rebuilding") %>>
<a href="/docs/enterprise/packer/builds/rebuilding.html">Rebuilding</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-linkedapps") %>>
<a href="/docs/enterprise/packer/builds/linked-applications.html">Linked Applications</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-runbuilds") %>>
<a href="/docs/enterprise/packer/builds/how-builds-run.html">How Builds Run</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-environment") %>>
<a href="/docs/enterprise/packer/builds/build-environment.html">Build Environment</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-notifications") %>>
<a href="/docs/enterprise/packer/builds/notifications.html">Build Notifications</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-scheduling") %>>
<a href="/docs/enterprise/packer/builds/scheduling-builds.html">Scheduling Builds</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-versions") %>>
<a href="/docs/enterprise/packer/builds/managing-packer-versions.html">Managing Packer Versions</a>
</li>
<li<%= sidebar_current("docs-enterprise-packer-builds-troubleshooting") %>>
<a href="/docs/enterprise/packer/builds/troubleshooting.html">Troubleshooting</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<% end %>
<%= yield %>
<% end %>