Skip to content
This repository was archived by the owner on Jul 23, 2025. It is now read-only.

Commit 10fa414

Browse files
Merge pull request hashicorp#13286 from hashicorp/docs/packer-seo-fy2025q4
Docs/packer seo fy2025q4
2 parents 6096b86 + f46d0f6 commit 10fa414

200 files changed

Lines changed: 1009 additions & 1302 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
11
---
22
description: |
3-
Community-maintained builders are not part of the core Packer binary, but
4-
can run alongside Packer with minimal extra effort.
5-
page_title: Community - Builders
3+
Community-supported builders are developed and maintained by third-parties and not HashiCorp. Use them with Packer to extend Packer functionality.
4+
page_title: Community-supported builders
65
---
76

8-
# Community Builders
7+
# Community-supported builders
98

109
The following builders are developed and maintained by various members of the
1110
Packer community, not by HashiCorp. For more information on how to use community
12-
builders, see our docs on [extending Packer](/packer/docs/plugins/creation).
11+
builders, refer to our docs on [extending Packer](/packer/docs/plugins/creation).
1312

14-
@include 'builders/community_builders.mdx'
13+
- ARM builders
14+
15+
- [packer-plugin-arm-image](https://github.com/solo-io/packer-plugin-arm-image): Lets you extend onto existing system images.
16+
- [packer-builder-arm](https://github.com/mkaczanowski/packer-builder-arm): Lets you extend or build new images with a variety of options, such as custom partition tables.
17+
18+
- [Exoscale builder](https://github.com/exoscale/packer-plugin-exoscale) - Creates Exoscale custom templates based on a compute instance snapshot.
19+
20+
- [Citrix XenServer/Citrix Hypervisor](https://github.com/xenserver/packer-builder-xenserver) - Plugin for creating [Citrix XenServer/Citrix Hypervisor](https://xenserver.org/) images from an ISO image or from an existing template.
21+
22+
- [XCP-NG/Citrix XenServer/Citrix Hypervisor/Updated Fork](https://github.com/ddelnano/packer-plugin-xenserver) - Plugin for creating [XCP-NG/Citrix XenServer/Citrix Hypervisor](https://xcp-ng.org/) images from an ISO image or from an existing template. This is a fork of the orginal and reccomended by the developers of XCP-NG.

website/content/docs/builders/custom.mdx

Lines changed: 0 additions & 15 deletions
This file was deleted.

website/content/docs/builders/file.mdx

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,18 @@
11
---
22
description: |
3-
The file Packer builder is not really a builder, it just creates an artifact
4-
from a file. It can be used to debug post-processors without incurring high
5-
wait times.
6-
page_title: File - Builders
3+
The `file` builder creates an artifact from a file. Use the `file` builder to debug post-processors without incurring long wait times.
4+
page_title: file builder reference
75
---
86

97
<BadgesHeader>
108
<PluginBadge type="official" />
119
</BadgesHeader>
1210

13-
# File Builder
11+
# `file` builder
1412

15-
Type: `file`
16-
Artifact BuilderId: `packer.file`
13+
The `file` builder creates an artifact from a file. You can use it to debug post-processors without incurring long wait times.
1714

18-
The `file` Packer builder is not really a builder, it just creates an artifact
19-
from a file. It can be used to debug post-processors without incurring high
20-
wait times.
15+
Artifact `BuilderId`: `packer.file`
2116

2217
## Basic Example
2318

@@ -60,12 +55,12 @@ described.
6055

6156
Any [communicator](/packer/docs/templates/legacy_json_templates/communicator) defined is ignored.
6257

63-
### Required:
58+
### Required
6459

6560
- `target` (string) - The path for the artifact file that will be created. If
6661
the path contains directories that don't exist, Packer will create them, too.
6762

68-
### Optional:
63+
### Optional
6964

7065
You can only define one of `source` or `content`. If none of them is defined
7166
the artifact will be empty.

website/content/docs/builders/index.mdx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
---
22
description: |
3-
Builders are responsible for creating machines and generating images from them
4-
for various platforms.
5-
page_title: Builders
3+
Builders create machines and generate images from them for various platforms. Learn about the types of builders you can use in your Packer templates.
4+
page_title: Builders overview
65
---
76

8-
# Builders
7+
# Builders overview
98

10-
Builders create machines and generate images from those machines for various platforms. Packer also has some builders that perform helper tasks, like running provisioners.
9+
Builders create machines and generate images from those machines for various platforms. Some builders in Packer perform helper tasks, such as running provisioners.
1110

1211
Packer has the following types of builders:
1312

14-
- [Plugin](/packer/plugins): Each plugin has its own associated set of builders. For example, there are separate builders for EC2, VMware, VirtualBox, etc.
15-
- [File](/packer/docs/builders/file): The `file` builder creates an artifact from a file.
16-
- [Null](/packer/docs/builders/null): The `null` builder sets up an SSH connection and runs the provisioners.
13+
- [Plugins](/packer/plugins): Plugins that you install have their own associated set of builders. For example, EC2, VMware, and VirtualBox use their own separate sets of builders.
14+
- [`file`](/packer/docs/builders/file): The `file` builder creates an artifact from a file.
15+
- [`null`](/packer/docs/builders/null): The `null` builder sets up an SSH connection and runs the provisioners.
1716
- [Custom](/packer/docs/plugins/creation/custom-builders): You can write new builders for new or existing platforms.
18-
- [Community-Supported](/packer/docs/builders/community-supported): The Packer community develops and maintains builders for several additional platforms.
17+
- [Community-supported](/packer/docs/builders/community-supported): The Packer community develops and maintains builders for several additional platforms.
1918

2019
Refer to the [`source`](/packer/docs/templates/hcl_templates/blocks/source) block documentation to learn more about configuring builders in the Packer templating language.
2120

website/content/docs/builders/null.mdx

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
11
---
22
description: |
3-
The null Packer builder is not really a builder, it just sets up an SSH
4-
connection and runs the provisioners. It can be used to debug provisioners
5-
without incurring high wait times. It does not create any kind of image or
6-
artifact.
7-
page_title: Null - Builders
3+
The `null` builder creates an SSH connection and runs provisioners. Use the `null` builder to debug provisioners without incurring long wait times.
4+
page_title: null builder reference
85
---
96

107
<BadgesHeader>
118
<PluginBadge type="official" />
129
</BadgesHeader>
1310

14-
# Null Builder
11+
# `null` builder
1512

16-
Type: `null`
17-
18-
The `null` Packer builder is not really a builder, it just sets up an SSH
19-
connection and runs the provisioners. It can be used to debug provisioners
20-
without incurring high wait times. It does not create any kind of image or
21-
artifact.
13+
The `null` builder sets up an SSH connection and runs provisioners. You can use it to debug provisioners without incurring long wait times. It does not create a images or artifacts.
2214

2315
## Basic Example
2416

website/content/docs/commands/build.mdx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
---
22
description: |
3-
The `packer build` command takes a template and runs all the builds within it
4-
in order to generate a set of artifacts. The various builds specified within a
5-
template are executed in parallel, unless otherwise specified. And the
6-
artifacts that are created will be outputted at the end of the build.
3+
The `packer build` command builds all of the artifacts defined in a template. Builds can run in parallel or sequentially.
74
page_title: packer build - Commands
85
---
96

10-
# `build` Command
7+
# `packer build` command reference
118

129
The `packer build` command takes a template and runs all the builds within it
1310
in order to generate a set of artifacts. The various builds specified within a

website/content/docs/commands/console.mdx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
---
22
description: |
3-
The `packer console` command allows you to experiment with Packer variable
4-
interpolations.
5-
page_title: packer console - Commands
3+
The `packer console` command starts an interactive console, letting you experiment with Packer variable interpolations.
4+
page_title: packer console command reference
65
---
76

8-
# `console` Command
7+
# `packer console` command reference
98

109
The `packer console` command allows you to experiment with Packer variable
1110
interpolations. You may access variables in the Packer config you called the

website/content/docs/commands/fix.mdx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
---
22
description: |
3-
The `packer fix` command takes a template and finds backwards incompatible
4-
parts of it and brings it up to date so it can be used with the latest version
5-
of Packer. After you update to a new Packer release, you should run the fix
6-
command to make sure your templates work with the new release.
7-
page_title: packer fix - Commands
3+
The `packer fix` command updates backward incompatible templates for the running version of Packer.
4+
page_title: packer fix command reference
85
---
96

10-
# `fix` Command
7+
# `packer fix` command reference
118

12-
-> **Note** This command is not available on HCL2 templates yet, it will be added when we need to introduce the first 'fix'.
139

14-
The `packer fix` command takes a template and finds backwards incompatible
10+
The `packer fix` command takes a template and finds backward incompatible
1511
parts of it and brings it up to date so it can be used with the latest version
1612
of Packer. After you update to a new Packer release, you should run the fix
1713
command to make sure your templates work with the new release.
1814

15+
-> **JSON template-only command**: You cannot use the `packer fix` command to update HCL2 templates.
16+
1917
The fix command will output the changed template to standard out, so you should
2018
redirect standard out using standard OS-specific techniques if you want to save it
2119
to a file. For example, on Linux systems, you may want to do this:

website/content/docs/commands/fmt.mdx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
---
22
description: |
3-
The `packer fmt` Packer command is used to format HCL2
4-
configuration files to a canonical format and style.
5-
page_title: packer fmt - Commands
3+
The `packer fmt` Packer command formats HCL2 configuration files to a canonical format and style to help you prevent coding errors.
4+
page_title: packer fmt command reference
65
---
76

8-
# `fmt` Command
7+
# `packer fmt` command reference
98

109
The `packer fmt` Packer command is used to format HCL2 configuration files to
1110
a canonical format and style. JSON files (.json) are not modified. This command

website/content/docs/commands/hcl2_upgrade.mdx

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
---
22
description: |
3-
The `packer hcl2_upgrade` Packer command is used to transpile a JSON
4-
configuration template to its formatted HCL2 counterpart. The command will
5-
return a zero exit status on success, and a non-zero exit status on failure.
6-
page_title: packer hcl2_upgrade - Commands
3+
The `packer hcl2_upgrade` Packer command transpiles a JSON
4+
configuration template into HCL2 so you can transition to HCL templates.
5+
page_title: packer hcl2_upgrade command reference
76
---
87

9-
-> **Note:** This command is Beta, and currently being improved upon; do not
10-
hesitate [opening a new
11-
issue](https://github.com/hashicorp/packer/issues/new/choose) if you find
12-
something wrong.
8+
# `packer hcl2_upgrade` command reference
139

14-
# `hcl2_upgrade` Command
10+
The `packer hcl2_upgrade` Packer command transpiles a JSON
11+
configuration template to it's formatted HCL2 counterpart. The command
12+
returns a zero exit status on success and a non-zero exit status on failure.
1513

16-
The `packer hcl2_upgrade` Packer command is used to transpile a JSON
17-
configuration template to it's formatted HCL2 counterpart. The command will
18-
return a zero exit status on success, and a non-zero exit status on failure.
14+
-> **This command is beta**. We do not recommend using beta functionality in production environments. To report an issue and provide feedback, [open a GitHub
15+
issue](https://github.com/hashicorp/packer/issues/new/choose).
1916

20-
Example usage:
17+
## Usage
2118

2219
```shell-session
2320
$ packer hcl2_upgrade my-template.json

0 commit comments

Comments
 (0)