Packer - Build d'images (VMs, containers, ISOs)
Find a file
Lucas Bajolet 208afbebfa packer: change mock set instantiation methods
The former way mock plugin sets were created meant that no API version
was set, and since it's private in the SDK, it cannot be set outside of
the package itself.

Fortunately, there is a NewSet function we can call, which initialises a
set properly so we can fill-in the information later.

However, because all the set maps were created in a `var` section, we
cannot create the set with `NewSet`, and then fill the information in
(outside of if there was a fluent interface, but this isn't the case
here).
We therefore opted to keep the variables defined and accessible
globally, but gone through a `init` function to initialise their values
for tests.
2024-03-26 10:08:28 -04:00
.github .github/workflows/jira.yml: Update JIRA component name 2024-03-13 14:05:30 -04:00
.release [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
acctest Update Acceptance Test to include BuilderSet 2023-11-22 21:36:01 -05:00
builder chore: remove refs to deprecated io/ioutil 2023-09-26 11:13:31 -04:00
cmd chore: remove refs to deprecated io/ioutil 2023-09-26 11:13:31 -04:00
command command: scrub metadata from version at install 2024-03-26 10:08:28 -04:00
contrib/zsh-completion Update fix command autocomplete to work for JSON template files only (#12366) 2023-04-14 13:00:24 -04:00
datasource Migrate HCP Packer to API V2 and new nomenclature changes (#12794) 2024-01-24 13:17:35 -05:00
examples Fixes typos in docs (#11322) 2021-10-11 10:19:49 +02:00
fix [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
hcl2template fmt: print parse errors on error 2024-03-07 14:41:19 -05:00
helper [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
internal/hcp hcp: fix hcp artifact extraction method 2024-02-27 11:39:21 -05:00
packer packer: change mock set instantiation methods 2024-03-26 10:08:28 -04:00
post-processor Bump github.com/pierrec/lz4 to v4.1.18 2023-09-26 12:16:40 -04:00
provisioner chore: remove refs to deprecated io/ioutil 2023-09-26 11:13:31 -04:00
scripts commands: rename plugin to execute 2024-03-11 15:06:13 -04:00
version Revert "Bumped product version to 1.12.0." 2023-11-10 16:32:19 -05:00
website chore: remove repetitive words 2024-03-12 09:36:26 -04:00
.copywrite.hcl update year in license files 2023-12-06 12:43:42 -08:00
.gitattributes HCL2: add templatefile function (#10776) 2021-03-23 12:02:05 +01:00
.gitignore Remove the vendor dir (#10916) 2021-04-21 10:52:55 +02:00
.go-version Bump Go toolchain to 1.21.8 2024-03-06 11:23:45 -05:00
.golangci.yml [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
background_check.go [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
background_check_openbsd.go [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
CHANGELOG.md CHANGELOG: call out lexicographic version ordering 2024-03-21 15:49:52 -04:00
checkpoint.go [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
CODEOWNERS Remove release-engineering as codeowners 2023-11-22 10:01:34 -05:00
commands.go commands: introduce plugin as alias to plugins 2024-03-11 15:06:13 -04:00
config.go commands: rename plugin to execute 2024-03-11 15:06:13 -04:00
config_test.go chore: remove refs to deprecated io/ioutil 2023-09-26 11:13:31 -04:00
Dockerfile [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
go Bump Go tooling version to 1.20.8 2023-10-03 10:32:42 -04:00
go.mod Bump github.com/go-jose/go-jose/v3 to address CVE-2024-28180 2024-03-12 07:19:04 -04:00
go.sum Bump github.com/go-jose/go-jose/v3 to address CVE-2024-28180 2024-03-12 07:19:04 -04:00
LICENSE update year in license files 2023-12-06 12:43:42 -08:00
log.go [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
main.go commands: introduce plugin as alias to plugins 2024-03-11 15:06:13 -04:00
main_test.go [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
Makefile Makefile: only build dev version of binary/docker 2023-08-04 13:30:41 -04:00
panic.go [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
README.md Update README 2023-10-26 15:03:55 -04:00
tty.go [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
tty_solaris.go [COMPLIANCE] License changes (#12568) 2023-08-10 15:53:29 -07:00
Vagrantfile vagrantfile: add support for docker provider 2018-10-31 16:58:06 +03:00

Packer

License: BUSL-1.1 Build Status Discuss

HashiCorp Packer logo

Packer is a tool for building identical machine images for multiple platforms from a single source configuration.

Packer is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel. Packer supports various platforms through external plugin integrations, the full list of which can be found at https://developer.hashicorp.com/packer/integrations.

The images that Packer creates can easily be turned into Vagrant boxes.

Quick Start

Packer

There is a great introduction and getting started guide for building a Docker image on your local machine without using any paid cloud resources.

Alternatively, you can refer to getting started with AWS to learn how to build a machine image for an external cloud provider.

HCP Packer

HCP Packer registry stores Packer image metadata, enabling you to track your image lifecycle.

To get started with building an AWS machine image to HCP Packer for referencing in Terraform refer to the collection of HCP Packer Tutorials.

Documentation

Comprehensive documentation is viewable on the Packer website at https://developer.hashicorp.com/packer/docs.

Contributing to Packer

See CONTRIBUTING.md for best practices and instructions on setting up your development environment to work on Packer.

Unmaintained Plugins

As contributors' circumstances change, development on a community maintained plugin can slow. When this happens, HashiCorp may use GitHub's option to archive the plugins repository, to clearly signal the plugin's status to users.

What does unmaintained mean?

  1. The code repository and all commit history will still be available.
  2. Documentation will remain on the Packer website.
  3. Issues and pull requests are monitored as a best effort.
  4. No active development will be performed by HashiCorp.

If you are interested in maintaining an unmaintained or archived plugin, please reach out to us at packer@hashicorp.com.