Update artifact docs
This commit is contained in:
parent
7c7c626a37
commit
bbb8d1fe6d
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: "enterprise"
|
||||
page_title: "Artifact Provider"
|
||||
page_title: "Provider - Artifacts - Terraform Enterprise"
|
||||
sidebar_current: "docs-enterprise-artifacts-provider"
|
||||
description: |-
|
||||
Terraform has a provider for managing artifacts called `atlas_artifact`.
|
||||
|
@ -10,37 +10,40 @@ description: |-
|
|||
|
||||
Terraform has a [provider](https://terraform.io/docs/providers/index.html) for managing Terraform Enterprise artifacts called `atlas_artifact`.
|
||||
|
||||
This is used to make data stored in Artifacts available to
|
||||
Terraform for interpolation. In the following example, an artifact
|
||||
is defined and references an AMI ID stored in Terraform Enterprise.
|
||||
This is used to make data stored in Artifacts available to Terraform for
|
||||
interpolation. In the following example, an artifact is defined and references
|
||||
an AMI ID stored in Terraform Enterprise.
|
||||
|
||||
provider "atlas" {
|
||||
# You can also set the atlas token by exporting
|
||||
# ATLAS_TOKEN into your env
|
||||
```hcl
|
||||
provider "atlas" {
|
||||
# You can also set the atlas token by exporting ATLAS_TOKEN into your env
|
||||
token = "${var.atlas_token}"
|
||||
}
|
||||
}
|
||||
|
||||
resource "atlas_artifact" "web-worker" {
|
||||
name = "%{DEFAULT_USERNAME}/web-worker"
|
||||
resource "atlas_artifact" "web-worker" {
|
||||
name = "my-username/web-worker"
|
||||
type = "amazon.image"
|
||||
version = "latest"
|
||||
}
|
||||
}
|
||||
|
||||
resource "aws_instance" "worker-machine" {
|
||||
resource "aws_instance" "worker-machine" {
|
||||
ami = "${atlas_artifact.web-worker.metadata_full.region-us-east-1}"
|
||||
instance_type = "m1.small"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This automatically pulls the "latest" artifact version.
|
||||
|
||||
Following a new artifact version being created via a Packer build, the following
|
||||
diff would be generated when running `terraform plan`.
|
||||
|
||||
-/+ aws_instance.worker-machine
|
||||
```
|
||||
-/+ aws_instance.worker-machine
|
||||
ami: "ami-168f9d7e" => "ami-2f3a9df2" (forces new resource)
|
||||
instance_type: "m1.small" => "m1.small"
|
||||
```
|
||||
|
||||
This allows you to reference changing artifacts and trigger new deployments
|
||||
upon pushing subsequent Packer builds.
|
||||
This allows you to reference changing artifacts and trigger new deployments upon
|
||||
pushing subsequent Packer builds.
|
||||
|
||||
Read more about artifacts in the [Terraform documentation](https://terraform.io/docs/providers/atlas/r/artifact.html).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: "enterprise"
|
||||
page_title: "Creating AMI Artifacts"
|
||||
page_title: "Creating AMIs - Artifacts - Terraform Enterprise"
|
||||
sidebar_current: "docs-enterprise-artifacts-amis"
|
||||
description: |-
|
||||
Creating AMI Artifacts with Packer.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: "enterprise"
|
||||
page_title: "Terraform Artifacts"
|
||||
page_title: "Artifacts - Terraform Enterprise"
|
||||
sidebar_current: "docs-enterprise-artifacts"
|
||||
description: |-
|
||||
Terraform Enterprise can be used to store artifacts for use by Terraform. Typically, artifacts are stored with Packer.
|
||||
|
@ -8,14 +8,14 @@ description: |-
|
|||
|
||||
# About Terraform Artifacts
|
||||
|
||||
Terraform Enterprise can be used to store artifacts for use by Terraform. Typically,
|
||||
artifacts are [stored with Packer](https://packer.io/docs).
|
||||
Terraform Enterprise can be used to store artifacts for use by Terraform.
|
||||
Typically, artifacts are [stored with Packer](https://packer.io/docs).
|
||||
|
||||
Artifacts can be used in to deploy and manage images
|
||||
of configuration. Artifacts are generic, but can be of varying types
|
||||
like `amazon.image`. See the Packer [`artifact_type`](https://packer.io/docs/post-processors/atlas.html#artifact_type)
|
||||
docs for more information.
|
||||
|
||||
Packer can create artifacts both while running in and out of Terraform Enterprise
|
||||
network. This is possible due to the post-processors use of the public
|
||||
artifact API to store the artifacts.
|
||||
Packer can create artifacts both while running in and out of Terraform
|
||||
Enterprise network. This is possible due to the post-processors use of the
|
||||
public artifact API to store the artifacts.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: "enterprise"
|
||||
page_title: "Managing Artifact Versions"
|
||||
page_title: "Managing Versions - Artifacts - Terraform Enterprise"
|
||||
sidebar_current: "docs-enterprise-artifacts-versions"
|
||||
description: |-
|
||||
Artifacts are versioned and assigned a version number, here is how to manage the versions.
|
||||
|
@ -8,9 +8,9 @@ description: |-
|
|||
|
||||
# Managing Artifact Versions
|
||||
|
||||
Artifacts stored in Terraform Enterprise are versioned and assigned a version number.
|
||||
Versions are useful to roll back, audit and deploy images specific versions
|
||||
of images to certain environments in a targeted way.
|
||||
Artifacts stored in Terraform Enterprise are versioned and assigned a version
|
||||
number. Versions are useful to roll back, audit and deploy images specific
|
||||
versions of images to certain environments in a targeted way.
|
||||
|
||||
This assumes you are familiar with the [artifact provider](https://terraform.io/docs/providers/atlas/index.html)
|
||||
in Terraform.
|
||||
|
@ -24,14 +24,16 @@ be used to use the latest version of the artifact.
|
|||
|
||||
The following output is from `terraform show`.
|
||||
|
||||
atlas_artifact.web-worker:
|
||||
```text
|
||||
atlas_artifact.web-worker:
|
||||
id = us-east-1:ami-3a0a1d52
|
||||
build = latest
|
||||
metadata_full.# = 1
|
||||
metadata_full.region-us-east-1 = ami-3a0a1d52
|
||||
name = %{DEFAULT_USERNAME}/web-worker
|
||||
slug = %{DEFAULT_USERNAME}/web-worker/amazon.image/7
|
||||
name = my-username/web-worker
|
||||
slug = my-username/web-worker/amazon.image/7
|
||||
type = amazon.image
|
||||
```
|
||||
|
||||
In this case, the version is 7 and can be found in the persisted slug
|
||||
attribute.
|
||||
|
@ -41,11 +43,13 @@ attribute.
|
|||
You can pin artifacts to a specific version. This allows for a targeted
|
||||
deploy.
|
||||
|
||||
resource "atlas_artifact" "web-worker" {
|
||||
name = "%{DEFAULT_USERNAME}/web-worker"
|
||||
```hcl
|
||||
resource "atlas_artifact" "web-worker" {
|
||||
name = "my-username/web-worker"
|
||||
type = "amazon.image"
|
||||
version = 7
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This will use version 7 of the `web-worker` artifact.
|
||||
|
||||
|
@ -54,12 +58,13 @@ This will use version 7 of the `web-worker` artifact.
|
|||
Artifacts can also be pinned to an Terraform build number. This is only
|
||||
possible if Terraform Enterprise was used to build the artifact with Packer.
|
||||
|
||||
resource "atlas_artifact" "web-worker" {
|
||||
name = "%{DEFAULT_USERNAME}/web-worker"
|
||||
```hcl
|
||||
resource "atlas_artifact" "web-worker" {
|
||||
name = "my-username/web-worker"
|
||||
type = "amazon.image"
|
||||
build = 5
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
It's recommended to use versions, instead of builds, as it will
|
||||
be easier to track when building outside of the Terraform Enterprise
|
||||
environment.
|
||||
It's recommended to use versions, instead of builds, as it will be easier to
|
||||
track when building outside of the Terraform Enterprise environment.
|
||||
|
|
Loading…
Reference in New Issue