Added Packer docs to TFE
This commit is contained in:
parent
8a1d2cca14
commit
41619e0a57
|
@ -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": [
|
||||||
|
|
|
@ -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`).
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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).
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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">« 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 %>
|
Loading…
Reference in New Issue