Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs/packer seo fy2025q4 #13286

Open
wants to merge 37 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
8eb277b
seo improvements data sources references
trujillo-adam Jan 22, 2025
711a38b
intro articles
trujillo-adam Jan 23, 2025
da35666
buiders, plugins, and some top-level pages
trujillo-adam Jan 24, 2025
7645ee0
updated provisioners reference topics
trujillo-adam Jan 24, 2025
ba3c07b
legacy json template ref
trujillo-adam Jan 24, 2025
9cf014f
Apply suggestions from code review
trujillo-adam Jan 24, 2025
85ff38f
Merge pull request #13267 from hashicorp/docs/packer-seo-ds-ref
trujillo-adam Jan 24, 2025
9fd83c1
Apply suggestions from code review
trujillo-adam Jan 24, 2025
b42e78a
Merge pull request #13272 from hashicorp/docs/packer-seo-builders-plu…
trujillo-adam Jan 24, 2025
f62463e
Apply suggestions from code review
trujillo-adam Jan 24, 2025
c5036e2
Merge pull request #13273 from hashicorp/docs/packer-seo-provs
trujillo-adam Jan 24, 2025
a9ada1d
hcl template blocks
trujillo-adam Jan 27, 2025
54da4b0
hcl templates content except functions
trujillo-adam Jan 28, 2025
953c814
crypto and collection functions references
trujillo-adam Jan 28, 2025
75678c5
file functions references
trujillo-adam Jan 28, 2025
2929047
contextual and datatime functions
trujillo-adam Jan 28, 2025
8ad24fd
encoding functions
trujillo-adam Jan 28, 2025
8b84cce
numeric and conversion functions
trujillo-adam Jan 29, 2025
ad18e70
Apply suggestions from code review
trujillo-adam Jan 29, 2025
8847805
Merge pull request #13283 from hashicorp/docs/packer-seo-templates-ba…
trujillo-adam Jan 29, 2025
f86801a
Apply suggestions from code review
trujillo-adam Jan 29, 2025
d8fa10e
string functions
trujillo-adam Jan 29, 2025
b417aba
ipnet and uuid funcs
trujillo-adam Jan 29, 2025
f46a435
Apply suggestions from code review
trujillo-adam Jan 29, 2025
0c0f7a6
Merge pull request #13282 from hashicorp/docs/packer-seo-templates-ba…
trujillo-adam Jan 29, 2025
8e6c32c
fix typo
trujillo-adam Jan 29, 2025
cf46ce6
remaining packer content
trujillo-adam Jan 30, 2025
06af5e6
Apply suggestions from code review
trujillo-adam Jan 30, 2025
3e3459b
Update website/content/docs/templates/hcl_templates/functions/encodin…
trujillo-adam Jan 30, 2025
c3df63a
removed 'learn to' keyword phrases
trujillo-adam Jan 30, 2025
4b45e15
fixed typo in redirects
trujillo-adam Jan 30, 2025
0f30246
formatting error in page desc
trujillo-adam Jan 30, 2025
090b30e
fix missing partials
trujillo-adam Jan 30, 2025
c310eac
Merge pull request #13284 from hashicorp/docs/packer-seo-functions-ba…
trujillo-adam Jan 30, 2025
3ddaae6
Apply suggestions from code review
trujillo-adam Jan 31, 2025
cf716c7
Merge pull request #13285 from hashicorp/docs/packer-seo-final-batch
trujillo-adam Jan 31, 2025
f46d0f6
Update website/content/docs/templates/legacy_json_templates/user-vari…
trujillo-adam Jan 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 14 additions & 6 deletions website/content/docs/builders/community-supported.mdx
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
---
description: |
Community-maintained builders are not part of the core Packer binary, but
can run alongside Packer with minimal extra effort.
page_title: Community - Builders
Community-supported builders are developed and maintained by third-parties and not HashiCorp. Use them with Packer to extend Packer functionality.
page_title: Community-supported builders
---

# Community Builders
# Community-supported builders

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

@include 'builders/community_builders.mdx'
- ARM builders

- [packer-plugin-arm-image](https://github.com/solo-io/packer-plugin-arm-image): Lets you extend onto existing system images.
- [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.

- [Exoscale builder](https://github.com/exoscale/packer-plugin-exoscale) - Creates Exoscale custom templates based on a compute instance snapshot.

- [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.

- [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.
15 changes: 0 additions & 15 deletions website/content/docs/builders/custom.mdx

This file was deleted.

19 changes: 7 additions & 12 deletions website/content/docs/builders/file.mdx
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
---
description: |
The file Packer builder is not really a builder, it just creates an artifact
from a file. It can be used to debug post-processors without incurring high
wait times.
page_title: File - Builders
The `file` builder creates an artifact from a file. Use the `file` builder to debug post-processors without incurring long wait times.
page_title: file builder reference
---

<BadgesHeader>
<PluginBadge type="official" />
</BadgesHeader>

# File Builder
# `file` builder

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

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

## Basic Example

Expand Down Expand Up @@ -60,12 +55,12 @@ described.

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

### Required:
### Required

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

### Optional:
### Optional

You can only define one of `source` or `content`. If none of them is defined
the artifact will be empty.
Expand Down
17 changes: 8 additions & 9 deletions website/content/docs/builders/index.mdx
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
---
description: |
Builders are responsible for creating machines and generating images from them
for various platforms.
page_title: Builders
Builders create machines and generate images from them for various platforms. Learn about the types of builders you can use in your Packer templates.
page_title: Builders overview
---

# Builders
# Builders overview

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

Packer has the following types of builders:

- [Plugin](/packer/plugins): Each plugin has its own associated set of builders. For example, there are separate builders for EC2, VMware, VirtualBox, etc.
- [File](/packer/docs/builders/file): The `file` builder creates an artifact from a file.
- [Null](/packer/docs/builders/null): The `null` builder sets up an SSH connection and runs the provisioners.
- [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.
- [`file`](/packer/docs/builders/file): The `file` builder creates an artifact from a file.
- [`null`](/packer/docs/builders/null): The `null` builder sets up an SSH connection and runs the provisioners.
- [Custom](/packer/docs/plugins/creation/custom-builders): You can write new builders for new or existing platforms.
- [Community-Supported](/packer/docs/builders/community-supported): The Packer community develops and maintains builders for several additional platforms.
- [Community-supported](/packer/docs/builders/community-supported): The Packer community develops and maintains builders for several additional platforms.

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

Expand Down
16 changes: 4 additions & 12 deletions website/content/docs/builders/null.mdx
Original file line number Diff line number Diff line change
@@ -1,24 +1,16 @@
---
description: |
The null Packer builder is not really a builder, it just sets up an SSH
connection and runs the provisioners. It can be used to debug provisioners
without incurring high wait times. It does not create any kind of image or
artifact.
page_title: Null - Builders
The `null` builder creates an SSH connection and runs provisioners. Use the `null` builder to debug provisioners without incurring long wait times.
page_title: null builder reference
---

<BadgesHeader>
<PluginBadge type="official" />
</BadgesHeader>

# Null Builder
# `null` builder

Type: `null`

The `null` Packer builder is not really a builder, it just sets up an SSH
connection and runs the provisioners. It can be used to debug provisioners
without incurring high wait times. It does not create any kind of image or
artifact.
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.

## Basic Example

Expand Down
7 changes: 2 additions & 5 deletions website/content/docs/commands/build.mdx
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
description: |
The `packer build` command takes a template and runs all the builds within it
in order to generate a set of artifacts. The various builds specified within a
template are executed in parallel, unless otherwise specified. And the
artifacts that are created will be outputted at the end of the build.
The `packer build` command builds all of the artifacts defined in a template. Builds can run in parallel or sequentially.
page_title: packer build - Commands
---

# `build` Command
# `packer build` command reference

The `packer build` command takes a template and runs all the builds within it
in order to generate a set of artifacts. The various builds specified within a
Expand Down
7 changes: 3 additions & 4 deletions website/content/docs/commands/console.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
description: |
The `packer console` command allows you to experiment with Packer variable
interpolations.
page_title: packer console - Commands
The `packer console` command starts an interactive console, letting you experiment with Packer variable interpolations.
page_title: packer console command reference
---

# `console` Command
# `packer console` command reference

The `packer console` command allows you to experiment with Packer variable
interpolations. You may access variables in the Packer config you called the
Expand Down
14 changes: 6 additions & 8 deletions website/content/docs/commands/fix.mdx
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
---
description: |
The `packer fix` command takes a template and finds backwards incompatible
parts of it and brings it up to date so it can be used with the latest version
of Packer. After you update to a new Packer release, you should run the fix
command to make sure your templates work with the new release.
page_title: packer fix - Commands
The `packer fix` command updates backward incompatible templates for the running version of Packer.
page_title: packer fix command reference
---

# `fix` Command
# `packer fix` command reference

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

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

-> **JSON template-only command**: You cannot use the `packer fix` command to update HCL2 templates.

The fix command will output the changed template to standard out, so you should
redirect standard out using standard OS-specific techniques if you want to save it
to a file. For example, on Linux systems, you may want to do this:
Expand Down
7 changes: 3 additions & 4 deletions website/content/docs/commands/fmt.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
description: |
The `packer fmt` Packer command is used to format HCL2
configuration files to a canonical format and style.
page_title: packer fmt - Commands
The `packer fmt` Packer command formats HCL2 configuration files to a canonical format and style to help you prevent coding errors.
page_title: packer fmt command reference
---

# `fmt` Command
# `packer fmt` command reference

The `packer fmt` Packer command is used to format HCL2 configuration files to
a canonical format and style. JSON files (.json) are not modified. This command
Expand Down
23 changes: 10 additions & 13 deletions website/content/docs/commands/hcl2_upgrade.mdx
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
---
description: |
The `packer hcl2_upgrade` Packer command is used to transpile a JSON
configuration template to its formatted HCL2 counterpart. The command will
return a zero exit status on success, and a non-zero exit status on failure.
page_title: packer hcl2_upgrade - Commands
The `packer hcl2_upgrade` Packer command transpiles a JSON
configuration template into HCL2 so you can transition to HCL templates.
page_title: packer hcl2_upgrade command reference
---

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

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

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

Example usage:
## Usage

```shell-session
$ packer hcl2_upgrade my-template.json
Expand Down
10 changes: 3 additions & 7 deletions website/content/docs/commands/index.mdx
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
---
description: |
Packer is controlled using a command-line interface. All interaction with
Packer is done via the `packer` tool. Like many other command-line tools, the
`packer` tool takes a subcommand to execute, and that subcommand may have
additional options as well. Subcommands are executed with `packer SUBCOMMAND`,
where "SUBCOMMAND" is the actual command you wish to execute.
page_title: Commands
The Packer command-line interface lets you perform Packer operations. Use the `packer` CLI command with subcommands, flags, and options to build and manage artifacts and install and manage plugins.
page_title: Packer commands overview
---

# Packer Commands (CLI)
# Packer Commands Overview

Packer is controlled using a command-line interface. All interaction with
Packer is done via the `packer` tool. Like many other command-line tools, the
Expand Down
6 changes: 3 additions & 3 deletions website/content/docs/commands/init.mdx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
description: |
Reference information about the `packer init` command, which downloads and installs one or more plugin binaries specified in a Packer template written in HCL.
page_title: packer init command line reference
The `packer init` command downloads and installs the plugins specified in a Packer template.
page_title: packer init command reference
---

# `init` command reference
# `packer init` command reference

The `packer init` command initializes Packer according to an HCL template configuration. Refer to [Installing Plugins](/packer/docs/plugins/install) for additional information about installing plugins.

Expand Down
17 changes: 4 additions & 13 deletions website/content/docs/commands/inspect.mdx
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
---
description: >
The `packer inspect` command takes a template and outputs the various

components a template defines. This can help you quickly learn about a
template

without having to dive into the HCL itself. The command will tell you things

like what variables a template accepts, the builders it defines, the

provisioners it defines and the order they'll run, and more.
page_title: packer inspect - Commands
The `packer inspect` command outputs the variables, builders, and provisioners a template uses so you can review the template without reading the HCL.
page_title: packer inspect command reference
---

# `inspect` Command
# `packer inspect` command reference

The `packer inspect` command takes a template and outputs the various
components a template defines. This can help you quickly learn about a template
Expand All @@ -29,7 +20,7 @@ The command doesn't validate the actual configuration of the various components
(that is what the `validate` command is for), but it will validate the syntax
of your template by necessity.

## Usage Example
## Example

Given a basic template, here is an example of what the output might look like:

Expand Down
9 changes: 4 additions & 5 deletions website/content/docs/commands/plugins/index.mdx
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
---
description: |
The "plugin" command groups subcommands for interacting with
Packer's plugin and the plugin catalog.
page_title: plugins Command
The `packer plugins` command group contains subcommands for managing Packer plugins.
page_title: packer plugins command reference
---

# `plugins`
# `packer plugins` command reference

The `plugins` command groups subcommands for interacting with Packers' plugins.
The `plugins` command group contains subcommands for installing, uninstalling, and viewing Packer plugins.

```shell-session
$ packer plugins -h
Expand Down
2 changes: 1 addition & 1 deletion website/content/docs/commands/plugins/install.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: |
Reference information about the `packer plugins install` command which downloads and installs Packer plugin binaries without a Packer template
The `packer plugins install` command manually downloads and installs Packer plugins without having to update and initialize a build template.
page_title: packer plugins install command reference
---

Expand Down
8 changes: 4 additions & 4 deletions website/content/docs/commands/plugins/installed.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
description: |
The "plugins installed" command will list installed plugins.
page_title: plugins Command
The `packer plugins installed` command lists the installed Packer plugins.
page_title: packer plugins installed command reference
---

# `plugins installed`
# `packer plugins installed` command reference

The `plugins installed` subcommand lists installed Packer plugins
The `plugins installed` subcommand lists installed Packer plugins.

```shell-session
$ packer plugins installed -h
Expand Down
8 changes: 4 additions & 4 deletions website/content/docs/commands/plugins/remove.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
description: |
The "plugins remove" command can remove a plugin at a version constraint.
page_title: plugins Command
The `packer plugins remove` command removes one or more versions of an installed Packer plugin.
page_title: packer plugin remove command reference
---

# `plugins remove`
# `packer plugins remove` command reference

The `plugins remove` subcommand removes one or more versions of an installed Packer plugin.
The `packer plugins remove` subcommand removes one or more versions of an installed Packer plugin.

The command is flexible enough to remove all versions at once or just a single version at a time.
- If a plugin's source address is specified, without a version constraint, all the versions of that plugin will be removed.
Expand Down
Loading