phpVirtualBox is an open source, AJAX implementation of the VirtualBox user interface written in PHP. As a modern web interface, it allows you to access and control remote VirtualBox instances. Much of its verbage and some of its code is based on the vboxweb project.
(http://phpvirtualbox.googlecode.com/svn/wiki/images/phpvbsm.png)
phpVirtualBox was created for people (like me) who prefer not to have to log in to their headless VirtualBox host to administer their virtual machines. Its features include:
Start / Stop VMs
-- Pause
-- Save State
-- Discard State
-- Power Off
-- ACPI Sleep
-- ACPI Shutdown
Snapshots
-- Take Snapshot
-- Delete Snapshot
-- Restore Snapshot
-- View / Edit snapshot
View VM Log files
Configure VMs
-- Excludes serial port configuration
-- Excludes some display options that do not affect a headless environment
Media
-- Add media
-- Full featured virtual media manager
-- Create hard disk wizard
-- Mount read-only media (DVD/CD and Floppy images) while VM is running
-- Clone disk images
-- Make disk image Immutable (read-only)
Create virtual machine wizard
Global networking configuration
-- Add / remove / configure host-only interfaces
-- Configure DHCP settings for host-only interfaces
Import / Export Virtual Machine Wizards
Virtual Machine Console access
-- Allows specification of username / password and screen resolution
-- Can be "detached" to open the VM's console in a minimal, new browser window
More information, screen shots, and downloads can be found at: http://code.google.com/p/phpvirtualbox/
(https://i.postimg.cc/59Tck0T2/screenshot-767.png)
Packer is a useful application for the users who need to create virtual machine images that can be used on multiple platforms. This package includes multiple command line tools that enable you to create identical images with minimum effort.
The tools support VMware, VirtualBox, Amazon EC2 or DigitalOcean platforms out of the box and enable you to extend their usage by using plugins.
Mozilla Public License
https://www.packer.io/
(https://i.postimg.cc/59Tck0T2/screenshot-767.png)
Packer is a useful application for the users who need to create virtual machine images that can be used on multiple platforms. This package includes multiple command line tools that enable you to create identical images with minimum effort.
The tools support VMware, VirtualBox, Amazon EC2 or DigitalOcean platforms out of the box and enable you to extend their usage by using plugins.
Mozilla Public License
Changelog
IMPROVEMENTS:
Builder/alicloud: Add new disable_stop_instance option. [GH-6764]
Builder/alicloud: Support adding tags to image. [GH-6719]
Builder/alicloud: Support ssh with private ip address. [GH-6688]
Builder/amazon: Add support to explicitly control ENA support [GH-6872]
Builder/amazon: Add suppport for vpc_filter, subnet_filter, and security_group_filter. [GH-6374]
Builder/amazon: Add validation for required device_name parameter in block_device_mappings. [GH-6845]
Builder/amazon: Clean up security group wait code. [GH-6843]
Builder/amazon: Update aws-sdk-go to v1.15.54, adding support for credential_source. [GH-6849]
Builder/amazon: Use DescribeRegions for aws region validation. [GH-6512], [GH-6904]
Builder/azure: Add new shared_image_gallery option. [GH-6798]
Builder/googlecompute: Return an error if startup_script_file is specified, but file does not exist. [GH-6848]
Builder/hcloud: Add Hetzner Cloud builder. [GH-6871]
Builder/openstack: Add new disk_format option. [GH-6702]
Builder/openstack: Fix bug where source_image_name wasn't being used to properly find a UUID. [GH-6751]
Builder/openstack: Wait for volume availability when cleaning up [GH-6703]
Builder/qemu: Add disk_detect_zeroes option. [GH-6827]
Builder/scaleway: Add boottype parameter to config. [GH-6772]
Builder/scaleway: Update scaleway-cli vendor. [GH-6771]
Core: New option to add timestamps to UI output. [GH-6784]
Post-processor/vagrant-cloud: Validate vagrant cloud auth token doing an auth request [GH-6914]
Provisioner/file: Improve error messaging when file destination is a directory with no trailing slash. [GH-6756]
Provisioner/powershell: Provide better error when Packer can't find Powershell executable. [GH-6817]
Provisioner/shell-local: Add ability to specify OSs where shell-local can run [GH-6878]
BUG FIXES:
Builder/alicloud: Fix ssh configuration pointer issues that could cause a bug [GH-6720]
Builder/alicloud: Fix type error in step_create_tags [GH-6763]
Builder/amazon: Error validating credentials is no longer obscured by a region validation error. and some region validation refactors and improvements [GH-6865]
Builder/amazon: Fix error calculating defaults in AWS waiters. [GH-6727]
Builder/amazon: Increase default wait for image import to one hour. [GH-6818]
Builder/amazon: Waiter now fails rather than hanging for extra time when an image import fails. [GH-6747]
Builder/azure: Updated Azure/go-ntlmssp dependency to resolve an issue with the winrm communicator not connecting to Windows machines requiring NTLMv2 session security
Builder/digitalocean: Fix ssh configuration pointer issues that could cause a panic [GH-6729]
Builder/hyperv/vmcx: Allow to set generation from buildfile [GH-6909]
Builder/scaleway: Fix issues with ssh keys. [GH-6768]
Core: Fix error where logging was always enabled when Packer was run from inside Terraform. [GH-6758]
Core: Fix issue with with names containing spaces in ESX5Driver and in ssh communicator [GH-6891], [GH-6823]
Core: Fix logger so it doesn't accidentally try to format unescaped strings. [GH-6824]
Core: Fix race conditions in progress bar code [GH-6858], [GH-6788], [GH-6851]
Core: Fix various places in multiple builders where config was not being passed as a pointer. [GH-6739]
Post-processor/manifest: No longer provides an empty ID string for Azure's managed image artifact [GH-6822]
Provisioner/powershell: Fix a bug in the way we set the ProgressPreference variable in the default execute_command [GH-6838]
Provisioner/windows-restart: Fix extraneous break which forced early exit from our wait loop. [GH-6792]
https://www.packer.io/
Changelog
IMPROVEMENTS:
builder/alicloud: Update aliyun sdk to support eu-west-1 region [GH-7338]
builder/amazon: AWS users can now use the Vault AWS engine to generate temporary credentials. [GH-7282]
builder/azure: IMDS to get subscription for Azure MSI [GH-7332]
builder/openstack: Replaced deprecated compute/ api with imageservice/ [GH-7038]
builder/virtualbox: New "guest_additions_interface" option to enable attaching via a SATA interface. [GH-7298]
builder/vmware: Add cores option for specifying the number of cores per socket. [GH-7191]
bulder/openstac: Deprecated compute/v2/images API [GH-7268]
core: Add validation check to help folks who swap their iso_path and checksum_path [GH-7311]
fixer/amazon: Make the amazon-private-ip fixer errors more visible [GH-7336]
post-processor/googlecompute-export: Extend auth for the GCE-post-processors to act like the GCE builder. [GH-7222]
post-processor/googlecompute-import: Extend auth for the GCE-post-processors to act like the GCE builder. [GH-7222]
post-processor/manifest: Add "custom_data" key to packer manifest post- processor [GH-7248]
BUG FIXES:
builder/amazon: Fix support for aws-us-gov [GH-7347]
builder/amazon: Move snapshot deletion to cleanup phase. [GH-7343]
builder/azure: Fixed Azure interactive authentication [GH-7276]
builder/cloudstack: Updated sdk version; can now use ostype name in template_os option. [GH-7264]
builder/google: Change metadata url to use a FQDN fixing bug stemming from differing DNS/search domains. [GH-7260]
builder/hyper-v: Fix integer overflows in 32-bit builds [GH-7251]
builder/hyper-v: Fix regression where we improperly handled spaces in switch names [GH-7266]
builder/openstack: Pass context So we know to cancel during WaitForImage [GH-7341]
builder/vmware-esxi: Strip rn whitespace from end of names of files stored on esxi. [GH-7310]
builder/vmware: Add "--noSSLVerify" to args in ovftool Validation [GH-7314]
core: clean up Makefile [GH-7254][GH-7265]
core: Fixes mismatches in checksums for dependencies for Go 1.11.4+ [GH-7261]
core: make sure 'only' option is completely ignored by post-processors [GH-7262]
core: name a post-processor to its type when it is not named [GH-7330]
provisioner/salt: Force powershell to overwrite duplicate files [GH-7281]
NEW FEATURES:
new builder vagrant allows users to call vagrant to provision starting from vagrant boxes and save them as new vagrant boxes. [GH-7221]
new builder: hyperone for building new images on HyperOne Platform on top of existing image or from the scratch with the use of chroot. [GH-7294]
new post-processor digitalocean-importAdd digitalocean-import post- processor. [GH-7060]
new provisionerinspec Added inspec.io provisioner [GH-7180]
communicator: Add configurable pause after communicator can connect but before it performs provisioning tasks [GH-7317] [GH-7351]
https://www.packer.io/
Changelog
IMPROVEMENTS:
builder/alicloud: Improve error message for conflicting images name [GH-7415]
builder/amazon-chroot: Allow users to specify custom block device mapping [GH-7370]
builder/ansible: Documentation fix explaining how to use ansible 2.7 + winrm [GH-7461]
builder/azure-arm: specify zone resilient image from config [GH-7211]
builder/docker: Add support for windows containers [GH-7444]
builder/openstack: Allow both ports and networks in openstack builder [GH-7451]
builder/openstack: Expose force_delete for openstack builder [GH-7395]
builder/OpenStack: Support Application Credential Authentication [GH-7300]
builder/virtualbox: Add validation for 'none' communicator. [GH-7419]
builder/virtualbox: create ephemeral SSH key pair for build process [GH-7287]
core: Add functionality to marshal a Template to valid Packer JSON [GH-7339]
core: Allow user variables to be interpreted within the variables section [GH-7390]
core: Incorporate the go-getter to handle downloads [GH-6999]
core: Lock Packer VNC ports using a lock file to prevent collisions [GH-7422]
core: Print VerifyChecksum log for the download as ui.Message output [GH-7387]
core: Users can now set provisioner timeouts [GH-7466]
core: Switch to using go mod for managing dependencies [GH-7270]
core: Select a new VNC port if initial port is busy [GH-7423]
post-processor/googlecompute-export: Set network project id to builder [GH-7359]
post-processor/vagrant-cloud: support for the vagrant builder [GH-7397]
post-processor/Vagrant: Option to ignore SSL verification when using on- premise vagrant cloud [GH-7377]
postprocessor/amazon-import: Support S3 and AMI encryption. [GH-7396]
provisioner/shell provisioner/windows-shell: allow to specify valid exit codes [GH-7385]
core: Filter sensitive variables out of the ui as well as the logs [GH-7462]
BUG FIXES:
builder/alibaba: Update to latest Alibaba Cloud official image to fix acceptance tests [GH-7375]
builder/amazon-chroot: Fix building PV images and where mount_partition is set [GH-7337]
builder/amazon: Fix http_proxy env var regression [GH-7361]
builder/azure: Fix: Power off before taking snapshot (windows) [GH-7464]
builder/hcloud: Fix usage of freebsd64 rescue image [GH-7381]
builder/vagrant: windows : fix docs and usage [GH-7416] [GH-7417]
builder/vmware-esxi: properly copy .vmxf files in remote vmx builds [GH-7357]
core: fix bug where Packer didn't pause in debug on certain linux platforms. [GH-7352]
builder/amazon: Fix bug copying encrypted images between regions [GH-7342]
BACKWARDS INCOMPATIBILITIES:
builder/amazon: Change temporary_security_group_source_cidr to temporary_security_group_source_cidrs and allow it to accept a list of strings. [GH-7450]
builder/amazon: If users do not pass any encrypt setting, retain any initial encryption setting of the AMI. [GH-6787]
builder/docker: Update docker's default config to use /bin/sh instead of /bin/bash [GH-7106]
builder/hyperv: Change option names cpu->cpus and ram_size->memory to bring naming in line with vmware and virtualbox builders [GH-7447]
builder/oracle-classic: Remove default ssh_username from oracle classic builder, but add note to docs with oracle's default user. [GH-7446]
builder/scaleway: Renamed attribute api_access_key to organization_id. [GH-6983]
Change clean_image name and clean_ami_name to a more general clean_resource name for Googlecompute, Azure, and AWS builders. [GH-7456]
core/post-processors: Change interface for post-processors to allow an overridable default for keeping input artifacts. [GH-7463]
https://www.packer.io/
Changelog
IMPROVEMENTS:
new builder: new proxmox builder implemented [GH-7490]
new builder: new yandex cloud builder implemented [GH-7484]
new builder: new linode builder implemented [GH-7508]
build: Circle CI now generates test binaries for all pull requests [GH-7624] [GH-7625] [GH-7630]
builder/alicloud: Support encryption with default service key [GH-7574]
builder/amazon: Users of chroot and ebssurrogate builders may now choose between "x86_64" and "arm64" architectures when registering their AMIs. [GH-7620]
builder/amazon: Users of the ebssurrogage builder may now choose to omit certain launch_block_devices from the final AMI mapping by using the omit_from_artifact feature. [GH-7612]
builder/azure: Update Azure SDK [GH-7563]
builder/docker: Better error messaging with container downloads. [GH-7513]
builder/google: add image encryption support [GH-7551]
builder/hyperv: Add keep_registered option to hyperv [GH-7498]
builder/qemu: Replace dot-based parsing with hashicorp/go-version [GH-7614]
builder/vmware: Add 30 minute timeout for destroying a VM [GH-7553]
core: Cleanup cache of used port after closing [GH-7613]
core: New option to set number of builds running in parallel & test BuildCommand more [GH-7501]
packer compiles on s390x [GH-7567]
provisioner/file: Added warnings about writeable locations [GH-7494]
BUG FIXES:
builder/amazon: Fix bug that always encrypted build region with default key. [GH-7507]
builder/amazon: Fix bug that wasn't deleting unencrypted temporary snapshots [GH-7521]
builder/amazon: Fix EBSsurrogate copy, encryption, and deletion of temporary unencrypted amis. [GH-7598]
builder/hyperv: Fixes IP detection error if more than one VMNetworkAdapter is found [GH-7480]
builder/qemu: Fix mistake switching ssh port mix/max for vnc port min/max [GH-7615]
builder/vagrant: Fix bug with builder and vagrant-libvirt plugin [GH-7633]
builder/virtualbox: Don't fail download when checksum is not set. [GH-7512]
builder/virtualbox: Fix ovf download failures by using local ovf files in place instead of symlinking [GH-7497]
builder/vmware: Fix panic configuring VNC for remote builds [GH-7509]
core/build: Allow building Packer on solaris by removing progress bar and tty imports on solaris [GH-7618]
core: Fix race condition causing hang [GH-7579]
core: Fix tty related panics [GH-7517]
core: Step download: Always copy local files on windows rather than symlinking them [GH-7575]
packer compiles on Solaris again [GH-7589] [GH-7618]
post-processor/vagrant: Fix bug in retry logic that caused failed upload to report success. [GH-7554]
https://www.packer.io/
Changelog
IMPROVEMENTS:
new feature: Packer console [GH-7726]
builder/alicloud: cleanup image and snapshot if target image is still not available after timeout [GH-7744]
builder/alicloud: let product API determine the default value of io_optimized [GH-7747]
builder/amazon: Add new skip_save_build_region option to fix naming conflicts when building in a region you don't want the final image saved in. [GH-7759]
builder/amazon: Add retry for temp key-pair generation in amazon-ebs [GH-7731]
builder/amazon: Enable encrypted AMI sharing across accounts [GH-7707]
builder/amazon: New SpotInstanceTypes feature for spot instance users. [GH-7682]
builder/azure: Allow users to publish Managed Images to Azure Shared Image Gallery (same Subscription) [GH-7778]
builder/azure: Update Azure SDK for Go to v30.0.0 [GH-7706]
builder/cloudstack: Add tags to instance upon creation [GH-7526]
builder/docker: Better windows defaults [GH-7678]
builder/google: Add feature to import user-data from a file [GH-7720]
builder/hyperv: Abort build if there's a name collision [GH-7746]
builder/hyperv: Clarify pathing requirements for hyperv-vmcx [GH-7790]
builder/hyperv: Increase MaxRamSize to match modern Windows [GH-7785]
builder/openstack: Add image filtering on properties. [GH-7597]
builder/qemu: Add additional disk support [GH-7791]
builder/vagrant: Allow user to override vagrant ssh-config details [GH-7782]
builder/yandex: Gracefully shutdown instance, allow metadata from file, and create preemptible instance type [GH-7734]
core: scrub out sensitive variables in scrub out sensitive variables logs [GH-7743]
BUG FIXES:
builder/alicloud: Fix describing snapshots issue when image_ignore_data_disks is provided [GH-7736]
builder/amazon: Fix bug in region copy which produced badly-named AMIs in the build region. [GH-7691]
builder/amazon: Fix failure that happened when spot_tags was set but ami_tags wasn't [GH-7712]
builder/cloudstack: Update go-cloudstack sdk, fixing compatability with CloudStack v 4.12 [GH-7694]
builder/proxmox: Update proxmox-api-go dependency, fixing issue calculating VMIDs. [GH-7755]
builder/tencent: Correctly remove tencentcloud temporary keypair. [GH-7787]
core: Allow timestamped AND colorless ui messages [GH-7769]
core: Apply logSecretFilter to output from ui.Say [GH-7739]
core: Fix "make bin" command to use reasonbale defaults. [GH-7752]
core: Fix user var interpolation for variables set via -var-file and from command line [GH-7733]
core: machine-readable UI now writes UI calls to logs. [GH-7745]
core: Switch makefile to use "GO111MODULE=auto" to allow for modern gomodule usage. [GH-7753]
provisioner/ansible: prevent nil pointer dereference after a language change [GH-7738]
provisioner/chef: Accept chef license by default to prevent hangs in latest Chef [GH-7653]
provisioner/powershell: Fix crash caused by error in retry logic check in powershell provisioner [GH-7657]
provisioner/powershell: Fix null file descriptor error that occurred when remote_path provided is a directory and not a file. [GH-7705]
https://www.packer.io/
(https://i.postimg.cc/59Tck0T2/screenshot-767.png)
Packer is a useful application for the users who need to create virtual machine images that can be used on multiple platforms. This package includes multiple command line tools that enable you to create identical images with minimum effort.
The tools support VMware, VirtualBox, Amazon EC2 or DigitalOcean platforms out of the box and enable you to extend their usage by using plugins.
Mozilla Public License
Changelog
IMPROVEMENTS:
new builder UCloud builder [GH-7775] new builder Outscale [GH-7459] new builder VirtualBox Snapshot [GH-7780] new builder JDCloud [GH-7962] new post-processor Exoscale Import post-processor [GH-7822] [GH-7946]
build: Change Makefile to behave differently inside and outside the gopath when generating code. [GH-7827]
builder/amazon: Don't calculate spot bids; Amazon has changed spot pricing to no longer require this. [GH-7813]
builder/google: Add suse-byos-cloud to list of public GCP cloud image projects [GH-7935]
builder/openstack: New image_min_disk option [GH-7290]
builder/openstack: New option use_blockstorage_volume to set openstack image metadata [GH-7792]
builder/openstack: Select instance network on which to assign floating ip [GH-7884]
builder/qemu: Implement VNC password functionality [GH-7836]
builder/scaleway: Allow removing volume after image creation for Scaleway builder [GH-7887]
builder/tencent: Add run_tags to option to tag instance. [GH-7810]
builder/tencent: Remove unnecessary image name validation check. [GH-7786]
builder/tencent: Support data disks for tencentcloud builder [GH-7815]
builder/vmware: Fix intense CPU usage because of poorly handled errors. [GH-7877]
communicator: Use context for timeouts, interruption in ssh and winrm communicators [GH-7868]
core: Change how on-error=abort is handled to prevent EOF errors that mask real issues [GH-7913]
core: Clean up logging vs ui call in step download [GH-7936]
core: New environment var option to allow user to set location of config directory [GH-7912]
core: Remove obsolete Cancel functions from builtin provisioners [GH-7917]
post-processor/vagrant: Add option to allow box Vagrantfiles to be generated during the build [GH-7951]
provisioner/ansible: Add support for installing roles with ansible-galaxy [GH-7916
provisioner/salt-masterless: Modify file upload to handle non-root case. [GH-7833]
BUG FIXES:
builder/amazon: Add error to warn users of spot_tags regression. [GH-7989]
builder/amazon: Allow EC2 Spot Fleet packer instances to run in parallel [GH-7818]
builder/amazon: Fix failures and duplication in Amazon region copy and encryption step. [GH-7870] [GH-7923]
builder/amazon: No longer store names of volumes which get deleted on termination inside ebssurrogate artifact. [GH-7829]
builder/amazon: Update aws-sdk-go to v1.22.2, resolving some AssumeRole issues [GH-7967]
builder/azure: Create configurable polling duration and set higher default for image copies to prevent timeouts on successful copies [GH-7920]
builder/digitalocean: increase timeout for Digital Ocean snapshot creation. [GH-7841]
builder/docker: Check container os, not host os, when creating container dir default [GH-7939]
builder/docker: Fix bug where PACKER_TMP_DIR was created with root perms on linux [GH-7905]
builder/docker: Fix file download hang caused by blocking ReadAll call [GH-7814]
builder/google: Fix outdated oauth URL. [GH-7835] [GH-7927]
builder/hyperv: Improve code for detecting IP address [GH-7880]
builder/ucloud: Update the api about stop instance to fix the read-only image build by ucloud-uhost [GH-7914]
builder/vagrant: Fix bug where source_path was being used instead of box_name when generating the Vagrantfile. [GH-7859]
builder/virtualbox: Honor value of 'Comment' field in ssh keypair generation. [GH-7922]
builder/vmware: Fix validation regression that occurred when user provided a checksum file [GH-7804]
buildere/azure: Fix crash with managed images not published to shared image gallery. [GH-7837]
communicator/ssh: Move ssh_interface back into individual builders from ssh communicator to prevent validation issues where it isn't implemented. [GH-7831]
console: Fix console help text [GH-7960]
core: Fix bug in template parsing where function errors were getting swallowed. [GH-7854]
core: Fix regression where a local filepath containing // was no longer properly resolving to /. [GH-7888]
core: Fix regression where we could no longer access isos on SMB shares. [GH-7800]
core: Make ssh_host template option always override all builders' IP discovery. [GH-7832]
core: Regenerate boot_command PEG code [GH-7977]
fix: clean up help text and fixer order to make sure all fixers are called [GH-7903]
provisioner/inspec: Use --input-file instead of --attrs to avoid deprecation warning [GH-7893]
provisioner/salt-masterless: Make salt-masterless provisioner respect disable_sudo directive for all commands [GH-7774]
https://www.packer.io/
Changelog
IMPROVEMENTS:
** new core feature** Error cleanup provisioner [GH-8155]
builder/amazon: Add ability to set run_volume_tags [GH-8051]
builder/amazon: Add AWS API call reties on AMI prevalidation [GH-8034]
builder/azure: Refactor client config [GH-8121]
builder/cloudstack: New step to detach iso. [GH-8106]
builder/googlecompute: Fail fast when image name is invalid. [GH-8112]
builder/googlecompute: Users can now query Vault for an Oauth token rather than setting an account file [GH-8143]
builder/hcloud: Allow selecting image based on filters [GH-7945]
builder/hyper-v: Decrease the delay between Hyper-V VM startup and hyper-v builder's ability to send keystrokes to the target VM. [GH-7970]
builder/openstack: Store WinRM password for provisioners to use [GH-7940]
builder/proxmox: Shorten default boot_key_interval to 5ms from 100ms [GH-8088]
builder/proxmox: Allow running the template VM in a Proxmox resource pool [GH-7862]
builder/ucloud: Make ucloud builder's base url configurable [GH-8095]
builder/virtualbox-vm: Make target snapshot optional [GH-8011] [GH-8004]
builder/vmware: Allow user to attach floppy files to remote vmx builds [GH-8132]
builder/yandex: Add ability to retry API requests [GH-8142]
builder/yandex: Support GPU instances and set source image by name [GH-8091]
communicator/ssh: Support for SSH port tunneling [GH-7918]
core: Add a new floppy_label option [GH-8099]
core: Added version compatibility to console command [GH-8080]
post-processor/vagrant-cloud: Allow blank access_token for private vagrant box hosting [GH-8097]
post-processor/vagrant-cloud: Allow use of the Artifice post-processor with the Vagrant Cloud post-processor [GH-8018] [GH-8027]
post-processor/vsphere: Removed redundant whitelist check for builders, allowing users to use post-processor withough the VMWare builder [GH-8064]
BUG FIXES:
builder/amazon: Fix FleetID crash. [GH-8013]
builder/amazon: Gracefully handle rate limiting when retrieving winrm password. [GH-8087]
builder/amazon: Fix race condition in spot instance launching [GH-8165]
builder/amazon: Amazon builders now respect ssh_host option [GH-8162]
builder/amazon: Update the AWS sdk to resolve some credential handling issues [GH-8131]
builder/azure: Avoid a panic in getObjectIdFromToken [GH-8047]
builder/googlecompute: Fix crash caused by nil account file. [GH-8102]
builder/hyper-v: Fix when management interface is not part of virtual switch [GH-8017]
builder/openstack: Fix dropped error when creating image client. [GH-8110]
builder/openstack: Fix race condition created when adding metadata [GH-8016]
builder/outscale: Get SSH Host from VM.Nics instead of VM Root [GH-8077]
builder/proxmox: Bump proxmox api dep, fixing bug with checking http status during boot command [GH-8083]
builder/proxmox: Check that disk format is set when pool type requires it [GH-8084]
builder/proxmox: Fix panic caused by cancelling build [GH-8067] [GH-8072]
builder/qemu: Fix dropped error when retrieving version [GH-8050]
builder/vagrant: Fix dropped errors in code and tests. [GH-8118]
builder/vagrant: Fix provisioning boxes, define source and output boxes [GH-7957]
builder/vagrant: Fix ssh and package steps to use source syntax. [GH-8125]
builder/vagrant: Use GlobalID when provided [GH-8092]
builder/virtualbox: Fix windows pathing problem for guest additions checksum download. [GH-7996]
builder/virtualbox: LoadSnapshots succeeds even if machine has no snapshots [GH-8096]
builder/vmware: fix dropped test errors [GH-8170]
core: Fix bug where sensitive variables contianing commas were not being properly sanitized in UI calls. [GH-7997]
core: Fix handling of booleans where "unset" is a value distinct from "false". [GH-8021]
core: Fix tests that swallowed errors in goroutines [GH-8094]
core: Fix bug where Packer could no longer run as background process [GH-8101]
core: Fix zsh auto-completion [GH-8160]
communicator/ssh: Friendlier message warning user that their creds may be wrong [GH-8167]
post-processor/amazon-import: Fix non-default encryption. [GH-8113]
post-processor/vagrant-cloud: Fix dropped errors [GH-8156]
provisioner/ansible: Fix provisioner dropped errors [GH-8045]
BACKWARDS INCOMPATIBILITIES:
core: "sed" template function has been deprecated in favor of "replace" and "replace_all" functins [GH-8119]
https://www.packer.io/
Changelog
IMPROVEMENTS:
added ucloud-import post-processsor to import custom image for UCloud UHost instance [GH-8261]
builder/amazon: New option to specify IAM policy for a temporary instance profile [GH-8247]
builder/amazon: improved validation around encrypt_boot and kms_key_id for a better experience [GH-8288]
builder/azure-arm: Allow specification of polling duration [GH-8226]
builder/azure-chroot: Add Azure chroot builder [GH-8185] & refactored some common code together after it [GH-8269]
builder/azure: Deploy NSG if list of IP addresses is provided in config [GH-8203]
builder/azure: Set correct user agent for Azure client set [GH-8259]
builder/cloudstack: Add instance_display_name for cloudstack builder [GH-8280]
builder/hyperv: Add the additional_disk_size option tho the hyperv vmcx builder. [GH-8246]
builder/openstack: Add option to discover provisioning network [GH-8279]
builder/oracle-oci: Support defined tags for oci builder [GH-8172]
builder/proxmox: Add ability to select CPU type [GH-8201]
builder/proxmox: Add support for SCSI controller selection [GH-8199]
builder/proxmoz: Bump Proxmox dependency: [GH-8241]
builder/tencent: Add retry on remote api call [GH-8250]
builder/vagrant: Pass through logs from vagrant in real time rather than buffering until command is complete [GH-8274]
builder/vagrant: add insert_key option for toggling whether to add Vagrant's insecure key [GH-8274]
builder/virtualbox: enabled pcie disks usage, but this feature is in beta and won't work out of the box yet [GH-8305]
communicator/winrm: Prevent busy loop while waiting for WinRM connection [GH-8213]
core: Add strftime function in templates [GH-8208]
core: Improve error message when comment is bad [GH-8267]
post-processor/amazon-import: delete intermediary snapshots [GH-8307]
Fix various dropped errors an removed unused code: [GH-8230] [GH-8265] [GH-8276] [GH-8281] [GH-8309] [GH-8311] [GH-8304] [GH-8303] [GH-8293]
BUG FIXES:
builder/amazon: Fix region copy for non-ebs amazon builders [GH-8212]
builder/amazon: Fix spot instance bug where builder would fail if one availability zone could not support the requested spot instance type, even if another AZ could do so. [GH-8184]
builder/azure: Fix build failure after a retry config generation error. [GH-8209]
builder/docker: Use a unique temp dir for each build to prevent concurrent builds from stomping on each other [GH-8192]
builder/hyperv: Improve filter for determining which files to compact [GH-8248]
builder/hyperv: Use first adapter, rather than failing, when multiple adapters are attached to host OS's VM switch [GH-8234]
builder/openstack: Fix setting openstack metadata for use_blockstorage_volume [GH-8186]
builder/openstack: Warn instead of failing on terminate if instance is already shut down [GH-8176]
post-processor/digitalocean-import: Fix panic when 'image_regions' not set [GH-8179]
provisioner/powershell: Fix powershell syntax error causing failed builds [GH-8195]
https://www.packer.io/
Changelog
IMPROVEMENTS:
builder/amazon: Add no_ephemeral template option to remove ephemeral drives from launch mappings. [GH-8393]
builder/amazon: Add validation for "subnet_id" when specifying "vpc_id" [GH-8360] [GH-8387] [GH-8391]
builder/amazon: allow enabling ena/sr-iov on ebssurrogate spot instances [GH-8397]
builder/amazon: Retry runinstances aws api call to mitigate throttling [GH-8342]
builder/hyperone: Update builder schema and tags [GH-8444]
builder/qemu: Add display template option for qemu. [GH-7676]
builder/qemu: Add fixer to convert disk size from int to string [GH-8390]
builder/qemu: Disk Size is now read as a string to support units. [GH-8320] [GH-7546]
builder/qemu: When a user adds a new drive in qemuargs, process it to make sure that necessary settings are applied to that drive. [GH-8380]
builder/vmware: Fix error message when ovftool is missing [GH-8371]
core: Cleanup logging for external plugins [GH-8471]
core: HCL2 template support is now in beta. [GH-8423]
core: Interpolation within provisioners can now access build-specific values like Host IP, communicator password, and more. [GH-7866]
core: Various fixes to error handling. [GH-8343] [GH-8333] [GH-8316] [GH-8354] [GH-8361] [GH-8363] [GH-8370]
post-processor/shell-local: Add "valid_exit_codes" option to shell-local. [GH-8401]
provisioner/chef-client: Add version selection option. [GH-8468]
provisioner/shell-local: Add "valid_exit_codes" option to shell-local. [GH-8401]
provisioner/shell: Add support for the "env_var_format" parameter [GH-8319]
BUG FIXES:
builder/amazon: Fix request retry mechanism to launch aws instance [GH-8430]
builder/azure: Fix PollDuration option which was overriden in some clients. [GH-8490]
builder/hyperv: Fix bug in checking VM name that could cause flakiness if many VMs are defined. [GH-8357]
builder/vagrant: Use absolute path for Vagrantfile [GH-8321]
builder/virtualbox: Fix panic in snapshot builder. [GH-8336] [GH-8329]
communicator/winrm: Resolve ntlm nil pointer bug by bumping go-ntlmssp dependency [GH-8369]
communicator: Fix proxy connection settings to use "SSHProxyUsername" and "SSHProxyPassword" where relevant instead of bastion username and password. [GH-8375]
core: Fix bug where Packer froze if asked to log an extremely long line [GH-8356]
core: Fix iso_target_path option; don't cache when target path is non-nil [GH-8394]
core: Return exit code 1 when builder type is not found [GH-8474]
core: Return exit code 1 when builder type is not found [GH-8475]
core: Update to newest version of go-tty to re-enable CTRL-S and CTRL-Q usage [GH-8364]
BACKWARDS INCOMPATIBILITIES:
builder/amazon: Complete deprecation of clean_ami_name template func [GH-8320] [GH-8193]
core: Changes have been made to both the Prepare() method signature on the builder interface and on the Provision() method signature on the provisioner interface. [GH-7866]
provisioner/ansible-local: The "galaxycommand" option has been renamed to "galaxy_command". A fixer has been written for this, which can be invoked with packer fix. [GH-8411]
https://www.packer.io/
Changelog
IMPROVEMENTS:
builder/alicloud: Add show_expired option for describing images [GH-8425]
Bug Fixes:
builder/cloudstack: Fix panics associated with loading config [GH-8513]
builder/hyperv/iso: Fix panics associated with loading config [GH-8513]
builder/hyperv/vmcx: Fix panics associated with loading config [GH-8513]
builder/jdcloud: Update jdcloud statebag to use pointers for config [GH-8518]
builder/linode: Fix panics associated with loading config [GH-8513]
builder/lxc: Fix panics associated with loading config [GH-8513]
builder/lxd: Fix panics associated with loading config [GH-8513]
builder/oneandone: Fix panics associated with loading config [GH-8513]
builder/oracle/classic: Fix panics associated with loading config [GH-8513]
builder/oracle/oci: Fix panics associated with loading config [GH-8513]
builder/osc/bsuvolume: Fix panics associated with loading config [GH-8513]
builder/parallels/pvm: Fix panics associated with loading config [GH-8513]
builder/profitbricks: Fix panics associated with loading config [GH-8513]
builder/scaleway: Fix panics associated with loading config [GH-8513]
builder/vagrant: Fix panics associated with loading config [GH-8513]
builder/virtualbox/ovf: Fix panics associated with loading config [GH-8513]
builder/virtualbox: Configure NAT interface before forwarded port mapping #8514
post-processor/vagrant-cloud: Configure NAT interface before forwarded port mapping [GH-8514]
https://www.packer.io/
Changelog
IMPROVEMENTS:
Builder/alicloud: Add AlicloudProfile option. [GH-8560]
Builder/amazon: Add max_retries option to aws builders [GH-8709]
Builder/amazon: Add source AMI owner ID/name to template engines [GH-8550]
Builder/amazon: Update instance waiters to use global waiter settings set by AWS_POLL_DELAY_SECONDS and AWS_TIMEOUT_SECONDS [GH-8699]
Builder/azure: Allow users to use custom key vault for storing Windows certificates [GH-8704]
Builder/azure: Set expiry for image versions in SIG [GH-8561]
Builder/proxmox: Add option to upload the boot ISO rather than pointing out a previously manually uploaded one. [GH-8624]
Builder/vagrant: Fix a crash in the Vagrant driver [GH-8607]
Builder/yandex: Add service account ID to config [GH-8717]
Communicator/winrm: Users can now override winrm_host with a static IP even when using cloud builders. [GH-8675]
Core/hcl2: Fix bug preventing reading slices within other slices [GH-8669]
Core: Interpolation within post-processors can now access build-specific values like Host IP, communicator password, and more [GH-8632]
Core: Add PACKER_PLUGIN_PATH to list of supported paths for plugin discovery [GH-8616]
Core: clean up messy log line in plugin execution. [GH-8542]
Core: Ensure PACKER_HTTP_ADDR is always set for any builder that provides a HTTP server for file transfer [GH-8654]
Core: Fix loading external plugins defined in PACKER_CONFIG [GH-8582]
Core: Log name of postprocessor running to disambiguate long chains of post- processors. [GH-8613]
Core: Packer can use isos in-place on Windows again, instead of copying them into its cache. [GH-7627]
Core: step_download: return without error if Urls is empty [GH-8579]
Post-processor/vsphere-template] Simplify method to use vm.MarkAsTemplate (optionally) [GH-8511]
Scripts: Fix some issues with mapstructure-to-hcl2 code generator. [GH-8574]
Scripts: Update Vagrant bootstrapping scripts [GH-8604]
Bug Fixes:
Builder/alicloud: Fix "security group doesn't exist" error when there are >10 security groups. [GH-8535]
Builder/amazon: Allow AWS builder pre-validation to pass when subnet filters are present [GH-8622]
Builder/azure: Fix bug where deployments were not being cleaned up: [GH-8496]
Builder/azure: Fix issue where WinRMPassword was being left unset [GH-8670]
Builder/lxd: Fix file uploading issue when using the file provisioner [GH-8636]
Builder/null: Fix crash when configuring builder using HCL2. [GH-8612]
Builder/osc: Fix ssh host detection in Public Cloud and Nets [GH-8414]
Builder/vagrant: Fix bug with reading key from a path with spaces [GH-8605]
Builder/virtualbox-ovf: Remove config dependency from StepImport [GH-8509]
Builder/virtualbox-vm: use config as a non pointer to avoid a panic [GH-8576]
Core: Fix crash when build.sources is set to an invalid name [GH-8569]
Core: Fix error loading .packerconfig [GH-8623]
Core: Fix loading local ISO files when using iso_target_path [GH-8689]
Core: Fix loading of external plugins. GH-8543]
Post-processor/docker-tag: Fix regression if no tags were specified. [GH-8593]
Post-processor/vagrant-cloud: Update error handling for Vagrant Cloud API [GH-8594]
Post-processor/vagrant: correctly handle the diskSize property as a qemu size string [GH-8567]
Provisioner/ansible: Fix password sanitization to account for empty string values. [GH-8570]
Provisioner/shell: Fix bug with shell provisioner failing to clean up the environment var file when env_var_file is true. [GH-8639]
https://www.packer.io/
Changelog
Improvements:
Builder/vsphere: Add ability to define multiple NICs for vsphere-iso [GH-8739]
Builder/vsphere: Add option to remove CD-ROM drives. [GH-8690]
Core: Add validation to catch when users accidentally add duplicate fields to template [GH-8725]
Bug Fixes:
Core/hcl2: Fix template prepare/validation for HCL2 templates [GH-8742]
Core: Fix build template function interpolation [GH-8727]
https://www.packer.io/
Changelog
no-change release to fix code-signing on OSX binaries. Since checksums for these binaries has changed, we are releasing a second time to prevent confusion.
https://www.packer.io/
Changelog
IMPROVEMENTS:
builder/azure: Add support for configurable KeyVault SKU [GH-8879]
builder/hyperv: Add first_boot_device setting to allow the selection of the initial device or device class used for booting the VM. [GH-8714]
builder/hyperv: Fix Hyper-V compacted disk size comparison [GH-8811]
builder/openstack: Add new image_auto_accept_members option [GH-8931]
builder/proxmox: Add ability to specify vga adapter [GH-8892]
builder/proxmox: Add onboot directive support [GH-8935]
builder/tencentcloud: Show tencentcloud image id after copy to desination region. [GH-8763]
builder/vmware-iso: Add cleanup_remote_cache config option to [GH-8917]
builder/vmware-iso: Do not perform dial test of NIC when ssh bastion is required [GH-8877]
builder/vsphere-clone: Add ability to export VM to OVF file [GH-8764]
builder/vsphere-iso: Add ability to define multiple disks. [GH-8787]
builder/vsphere-iso: Add ability to export VM to OVF file [GH-8764]
builder/vsphere-iso: Add support for eagerly zeroed / scrubbed disks. [GH-8756]
builder/vsphere-iso: Add the remote iso first so that it is first in boot order, and clarify boot behavior. [GH-8732]
communicator/ssh: Add flag to enable support for keyboard-interactive auth to connect bastion [GH-8847]
core/hcl2: Add support for singular blocks [GH-8889]
core/hcl2: Add support in HCL2 configs for dynamic blocks, document for loops and splat expressions [GH-8720]
core/hcl2: Fix HCL2 local variables decoding to allow local usage within another local in the same locals block [GH-8755]
core/hcl2: Import new replace and regex_replace funcs from go-cty + documentation [GH-8863]
core: Enable hcl files as var files in HCL mode [GH-8882]
core: Make "build" engine template variables SSHPublicKey and SSHPrivateKey strings [GH-8829]
Bug Fixes:
bilder/proxmox: Bump proxmox-api-go to fix upstream bug where users hit open file limit. [GH-8800]
builder/azure: Fix winrm_password attribution and allow users to set winrm_username [GH-8928]
builder/azure: Fix azure key vault cleanup failure [GH-8905]
builder/azure: Fix HCL2 bug that prevented Azure and other builders from loading properly. [GH-8785]
builder/googlecompute: Fix WinRMPassword template engine. [GH-8890]
builder/googlecompute: Replace deprecated "sshKeys" metadata with "ssh-keys" to fix SSH authentication issue [GH-8942]
builder/proxmox: Add new validation to catch that template_name cannot contain spaces. [GH-8799]
builder/vagrant: Fix path validation in ssh config step. [GH-8826]
builder/virtualbox-vm: Fix crash when VM has no snapshots. [GH-8906]
builder/virtualbox: Remove all floppy controllers before adding a new one. [GH-8828]
builder/vsphere-clone: Fix issue preventing the cloning of VMs with the same name in different folders [GH-8938]
builder/vsphere-iso: Fix issue preventing the creation of VMs with the same name in different folders [GH-8938]
builder/vsphere: Fix network object interface panic. [GH-8753]
core/hcl2: Fix crash when an unset variable is used [GH-8837]
core/hcl2: Fix logic for parsing literal value variables [GH-8834]
core/hcl2: Make sure locals are evaluated only after variables are. [GH-8918]
core: Fix "build" template engine interpolation for certain fields in certain provisioners. [GH-8771]
core: Fix bug where user var recursion could fail intermittently when used with env vars [GH-8875]
plugins: Make plugin discovery stricter with respect to periods so that users can disable plugins by renaming the extension [GH-8735]
provisioner/shell: "inline" config option is now a template engine. [GH-8883]
https://www.packer.io/
Changelog
BACKWARDS INCOMPATIBILITIES:
core/hcl2: HCL2 singular blocks: use key/value or name/value depending on how the service names things [GH-9078]
core/hcl2: Maps are now treated as settable arguments as opposed to blocks. For example tags = {} instead of tags {} [GH-9035]
FEATURES:
New Builder azure-dtl allows creation of devtestlabs images in Azure [GH-8987]
New Core Feature provisioners now support a max_retries option that can be used for retrying a provisioner on error [GH-9061]
IMPROVEMENTS:
builder/azure-arm: Add boot_diag_storage_account option for enabling boot diagnostics on a virtual machine [GH-9053]
builder/azure-arm: Add support for setting custom resource names [GH-9028]
builder/azure-arm: Data disk names are now randomly generated [GH-8986]
builder/azure: Add shared image destination for azure-chroot [GH-9021]
builder/azure: Add shared image source for chroot builder [GH-9070]
builder/google: Add support for custom shielded images [GH-8970]
builder/google: Allow source_image_project_id to be a list of several projects to search. [GH-8679]
builder/hyperv: Add boot_order option to override the default boot order [GH-9046]
builder/oracle-oci: Allow Instance Principal Auth for Oracle OCI builder [GH-8893]
builder/oracle-oci: Update Oracle SDK. [GH-9104]
builder/proxmox: Add ability to add a cloud-init drive [GH-9045]
builder/vsphere: Add disable_shutdown option to support manual vm shutdown over the default automatic shutdown step [GH-9095]
builder/vsphere: Add vgpu_profile option for specifying vGPU profiles [GH-8946]
builder/vsphere: Add support for EFI Secure Boot [GH-9018]
builder/vsphere: Add support for specifying vGPU profiles [GH-8946]
builder/yandex: Add target_image_folder_id option for changing the folder where a built image will be saved to [GH-9080]
core/hcl2: HCL mode builds now honor -only and -except options [GH-8947]
core/hcl2: Set packer_build_name and packer_builder_type variables for builder provisioners and post-processors [GH-8956]
core/HCL: HCL mode now honors -only and -except options. [GH-8947]
core: New template function: aws_secretsmanager [GH-9099]
provisioner/ansible: Add option to not use localhost proxy adapter. Removes need for ansible connection_plugin when using WinRM. [GH-8625]
provisioner/powershell: Add debug_mode option to help with debugging generated scripts [GH-8996]
provisioner/powershell: Add cleanup step to remove temporarily created scripts; cleanup can be skipped by setting the skip_clean option [GH-8908]
BUG FIXES:
builder/amazon: Fix bug with launch_block_device_mappings in spot instances. [GH-8945]
builder/azure-arm: Fix issue where managed image builds were using a different location then what was specified in the build configuration [GH-9068]
builder/azure: Allow Managed Data Disks to be used with Azure Shared Image Gallery [GH-8912]
builder/azure: Fix SSH connection for temporary admin users specified in ssh_username [GH-9103]
builder/osc: Make compliant with oAPI spec for Outscale osc-bsu builder [GH-9093]
builder/qemu: Remove net_device pre-validation [GH-8979]
builder/tencentcloud: Update builder to handle the InstanceOperationInProgress error [GH-9069]
builder/vsphere-iso: disk_size is no longer required if storage is defined [GH-8975]
builder/vsphere: Add exported files to VSphere artifact [GH-9020]
builder/vsphere: Fix issue where -force is not working with vsphere builders [GH-9039]
core: Fix crash in wrapperreadline helper when calling os.NewFile on unknown file descriptor [GH-9037]
core: Make sure CLI variables supersede variables from var files [GH-8964]
provisioner/powershell: Fix integer decoding issue in the execution policy parser [GH-8997]
https://www.packer.io/
Changelog
BACKWARDS INCOMPATIBILITIES:
builder/vsphere-iso: The deprecated fields network, network_card, disk_size, disk_thin_provisioned, and disk_eagerly_scrub have been removed. Run packer fix template.json to migrate an existing template [GH-9149]
For all iso-based builders, the iso_checksum_type and iso_checksum_url fields have been removed in favor of simply setting the iso_checksum field. Use the packer fix command to update a config file. See the iso_checksum field docs to read more about this. [GH-8437]
FEATURES:
New post-processor Yandex Export [GH-9124]
builder/amazon: Add SSM Session Manager as a SSH interface connection [GH-9082]
builder/google: Implement iap proxy for googlecompute [GH-9105]
HCL2/core: Add command/console support for HCL2 config files [GH-9359]
HCL2/core: Add command/validate support for HCL2 config files [GH-9346]
HCL2/core: it is now possible to set source fields from the build block [GH-9291]
IMPROVEMENTS:
builder/amazon: Added new build template function field: SourceAMICreationDate [GH-9277]
builder/azure-arm: Support User Assigned Managed Identity [GH-9293]
builder/azure-chroot: Copy data disks between shared image galleries [GH-9323]
builder/googlecompute: Changed default disk size. [GH-9071]
builder/googlecompute: New option to specify storage location for GCP images [GH-9326]
builder/qemu: Add support for using a network bridge [GH-9159]
builder/qemu: Added skip_nat_mapping option to skip the communicator (SSH or WinRM) automatic port forward and use the guest port directly. [GH-9307]
builder/qemu: Replace deprecated ssh_host_port_min and ssh_host_port_max by host_port_min and host_port_max. [GH-9307]
builder/virtualbox: Add output_filename config option to allow user to set a custom filename instead of forcing it to be the same as vm_name. [GH-9174]
builder/vsphere: Add floppy_label option. [GH-9187]
builder/vsphere: Add ip_wait_address to allow packer to wait for an ip address that fits within the range (cidr address). [GH-9358]
builder/vsphere: Add tools_sync_time and tools_upgrade_policy options to set time synchronization and automatic VMware Tools upgrade. [GH-9366]
core/hcl: Enable "force", "debug", and "on-error" command line flags for hcl2 builds. [GH-9234]
core/hcl: Enable only/except for provisioners and post-processors [GH-9357]
core/hcl: Support named builds in HCL2 templates [GH-9245]
core/interpolation: Add support for specifying a particular key to fetch from the AWS Secrets Manager [GH-9202] [GH-9286]
core: HCL logs now display source type and source name (type.name) in logs to differentiate more easily who says what. [GH-9257]
core: update consul and vault dependencies [GH-9205]
core: Update vendored "go-getter" library with checksum fixes.
core: Users can now configure the http bind address of the server launched to serve files from http_directory [GH-9313]
core: When a template contains a deprecated option, Packer will now encourage the user to call packer fix. [GH-9325]
post-processor/docker-push: Support pushing multiple tags [GH-9182]
post-processor/docker-tag: Change field name of docker tag to "tags" instead of "tag" since it's a list. Keep "tag" for backwards compatibility. [GH-9183]
provisioner/windows-restart: Display full hostname, instead of just the NetBIOS name [GH-9335]
BUG FIXES:
buidler/vsphere-iso: Fix bug validating iso_urls [GH-9321]
builder/azure-arm: Update runtime constants with a valid DataDiskName [GH-9251]
builder/digitalocean: Use correct image type for Droplet creates. [GH-9212]
builder/openstack: Don't error if metadata can't be set. Old versions of openstack don't support that API call. [GH-9198]
builder/vagrant: Use absolute path for package_include files to prevent them from having to be relative to the output vagrant directory. [GH-9260]
builder/virtualbox: Fix bug using checksum files. [GH-9101]
builder/vmware: Fix ssh connection when the guest platform's dhcpcd switches the IP address in-between a build. [GH-9322]
builder/vsphere-iso: Use the Datacenter's VmFolder call instead of manually generating folder path [GH-9342]
builder/vsphere: Add option not to set host during datastore upload. [GH-9100
builder/vsphere: Fix crash in the driver for an interface conversion of types.AnyType nil to types.ManagedObjectReference. [GH-9354]
builder/vsphere: Fix iso config prepare being called incorrectly, which caused iso_url field to fail. [GH-9197]
builder/yandex: Do not require 'gpu-standard-v1' platform_id for any GPU- based config. [GH-9356]
core: Ensure HTTP server information PackerHTTPIP, PackerHTTPPort, and PackerHTTPAddr are available via the build template engine for all supported builders [GH-9238]
core: Fix iso_url to accept SMB shared files UNC and windows network paths. [GH-8954]
core: Fix regression that broke use of pwd when retrieving the checksum from a file [GH-9129].
post-processor/vagrant: Add "provider_override" template option to allow artifacts from the Artifice post-processor [GH-9239]
post-processor/vsphere-template: Add VSphere builder's artifact to vsphere- template's supported types [GH-9146]
postprocessor/artifice: Update various core post-processors to accept artifacts from the Artifice post-processor [GH-9239]
provisioner/ansible-remote: Fix the arg order to make sure that the playbook file is the last item in the call [GH-9279]
provisioner/ansible: Ansible provisioner doesn't force ssh key checking if user wants to use password to connect instead. [GH-9350]
provisioner/inspec: Fix build variables interpolation [GH-9262]
provisioner/powershell: fix interpolation of execute_command in cleanup script call. [GH-9275]
provisioner/powershell: Fix long-wait retry loop caused by cleanup logic [GH-9226]
provisioner/salt-masterless: Ignore the CmdArgs field in hcl2 [GH-9290]
https://www.packer.io/
Changelog
BACKWARDS INCOMPATABILITIES:
HCL: builder/vsphere: Add option to add a xhci/usb3 controller; changes controller value to an array of strings. [GH-9574]
HCL: New HCL-only post-processors block to run chained post-processors after a build [GH-9638]. Before this, defining multiple post-processor blocks after provisioning steps would run them sequentially, now doing this makes them start from the build artifact. To queue post-processors you now have to define them in a post-processors block. [GH-9638]
Post-processor/vSphere: We have fixed a bug in the ovftool URL encoding. This may mean that you have performed an encoding workaround that is no longer necessary. [GH-9589]
FEATURES:
New post-processor Yandex Import [GH-9553]
IMPROVEMENTS:
Builder/amazon-ebs: Wrap CreateImage call in a retry to account for eventual consistency [GH-9579]
Builder/azure: Disable SSH password authentication unless password is explicitly specified. [GH-9603]
Builder/docker: Add options for --cap-add, --cap-drop, --tmpfs, --device [GH-9565]
Builder/file: Create parent directories of target file, if they don't exist. [GH-9452]
Builder/googlecompute: Add wrap_startup_script configuration option to allow the disabling of Packer's startup script wrapper [GH-9505]
Builder/googlecompute: Add support for oslogin via the use_os_login configuration option [GH-9339]
Builder/googlecompute: Make IAP tunnel timeout configurable. [GH-9545]
Builder/googlecompute: Support using WinRM over an IAP tunnel [GH-9610]
Builder/hyper-v: Include secure boot template in box.xml [GH-9552]
Builder/hyperone: Add support for custom username in vm creation. [GH-9497]
Builder/hyperone: Skip chroot device discovery. [GH-9489]
Builder/openstack: Bump gophercloud to latest version [GH-9573]
Builder/proxmox: Add option to disable KVM hardware virtualization in Proxmox builder [GH-9587]
Builder/proxmox: Add support for multiple NIC packet queues [GH-9597]
Builder/proxmox: Enable Proxmox builder to toggle the firewall parameter for network interfaces. [GH-9487]
Builder/proxmox: Update Proxmox storagePoolTypes [GH-9418]
Builder/qemu: Add 'cdrom_interface' option to QEMU builder [GH-9483]
Builder/tencentcloud: Add source_image_name to support getting source image by name [GH-9619]
Builder/tencentcloud: Update cvm root disk type to CLOUD_PREMIUM [GH-9663]
Builder/ucloud: New access config options and run config options. [GH-9466]
Builder/vsphere-clone: Add boot_command support to vsphere-clone builder, including support for starting an HTTP server
Builder/vsphere-clone: Add vapp configuration option [GH-9507]
Builder/vsphere: Add ability to define multiple disk controllers [GH-9519]
Builder/vsphere: Add boot_command support to vsphere-clone builder. [GH-9397]
Builder/vsphere: Add content_library_destination to import VM template to a Content Library [GH-9551]
Builder/vsphere: Add force_bios_setup configuration option [GH-9563]
Builder/vsphere: Add option to add a xhci/usb3 controller [GH-9574]
Builder/vsphere: Create vm output folders if they don't exist [GH-9402]
Builder/vsphere: Fix file size descriptor when exporting OFV [GH-9568]
Builder/vsphere: Look at all available IPs in the waiting for IP loop. [GH-9450]
Builder/vsphere: Match network to host when multiple networks are found [GH-9556]
Builder/vsphere: Update vsphere boot_command to bring it in line with other builders' boot_command functionality. [GH-9406]
Builder/vsphere: Use datacenter inventory path for find folder [GH-9390]
Builder/vsphere: Use value from "ip_wait_address" option to determine the default for the http server IP [GH-9441]
Builder/yandex: Allow set min_disk_size for an image.
Builder/yandex: Support authentication by Service Account on instance [GH-9383]
Builder/yandex: yandex: Add new property min_disk_size of built image [GH-9594]
Communicator/ssh: Add support for OpenSSH certificate signing [GH-9521]
Communicator/ssh: Allow users to provide a list of ciphers that they want Packer to support. [GH-9453]
Core/hcl2: Add possibility to name singular build.source blocks to differentiate their output and to filter on them [GH-9490]
Core/hcl2: Add the "inspect" command for hcl2 configs. [GH-9468]
Core/hcl2: HCL configs now respect only/except using build names instead of types. [GH-9454]
Core/hcl: Allow use of keep_input_artifact in post processors. [GH-9477]
Core/hcl: Share build info with Provisioner and Post-Processor via HCL2 variables [GH-9444] [GH-9534] [GH-9622]
Core: Add on-error flag option to run error-cleanup-provisioner [GH-9429]
Core: communicator/ssh: Add new ssh_key_exchange_algorithms option to supply custom key exchange algorithms in SSH client [GH-9634]
Core: refactor initialization out from Packer core to allow validate --syntax-only to no error when a variable is not set [GH-9627]
Hcl2: Handle uint64 buildvars [GH-9585]
Post-processor/yandex-export: Allow users to utilize generated variables in templating. [GH-9555]
Post-processor/yandex-export: Support Authentication by Service Account Key file [GH-9379]
Post-processor/yandex-import: Support creating an Image based on another one [GH-9614]
Post-processor/yandex-import: Support using URL from yandex-export [GH-9601]
Provisioner/ansible: Add template option for templating the inventory file lines [GH-9438]
BUG FIXES:
Builder/amazon: Change "Resource" field in temporary_iam_instance_profile_policy_document to be an array of strings, not just a single string. [GH-9509]
Builder/amazon: HCL2: Add singular run_volume_tag block to ebs & ebssurrogate builders. [GH-9457]
Builder/amazon: Retry fetching block device mappings if empty. [GH-9480]
Builder/azure: Fix data disks URI. [GH-9467]
Builder/googlecompute: Fix issue with use_iap globally changing a user's gcloud project configuration, by temporarily setting "project" via project flag and not via gcloud config [GH-9662]
Builder/googlecompute: Fix the "secure boot" validation for uefi_compatible images. [GH-9371]
Builder/qemu: Only set up localhost port forwarding if skipnatmapping is false. [GH-9479]
Builder/vagrant: Fix box file validation for remote box files specified using source_path [GH-9660]
Builder/vagrant: Improve validation and error handling around synced_folder. Make sure that synced folder can be defined relative to Packer run directory, not the Vagrant output directory. [GH-9577]
Builder/virtualbox-vm: Fix regression where builder would fail if the vm had no snapshots. [GH-9435]
Builder/vmware-iso: Try checksum remote file instead of local file. [GH-9584]
Builder/vmware: Fix a race that occurred when parsing the network config. [GH-9387]
Builder/vmware: Update vendor library, enabling retries on 502 errors [GH-9391]
Builder/vsphere-clone: Fix SSH public key injection for cloned templates [GH-9507]
Builder/vsphere: Clean up folder path to remove leading slashes. [GH-9542]
Builder/vsphere: Deduplicate where Firmware is set in vsphere-iso builder [GH-9557]
Builder/vsphere: Fix vsphere ToolsSyncTime and ToolsUpgradePolicy [GH-9515]
Builder/vsphere: vSphere driver context is no longer cancelled when Packer context is cancelled. [GH-9576]
Communicator/winrm: Add the "no_proxy" environment variable option to have winrm bypass the proxy set by the http_proxy or https_proxy environment vars, when connecting to the remote instance. [GH-9267]
Core: Do not print download progress bar if a machine-readable UI is chosen. [GH-9448]
Post-processor/amazon-import: Add support for retrying RequestLimitExceeded errors when importing an image [GH-9537]
Post-processor/docker-import: Fix crash when using docker-import with HCL. [GH-9670]
Post-processor/vsphere: Fix password encoding in vsphere post-processor ovftool call [GH-9589]
Post-processor/yandex-export: Fix error handling and docs. [GH-9554]
Provisioner/ansible-local: Fix agent auth in SSH communicator [GH-9639]
Provisioner/ansible: Correct check for whether PackerHttpAddr is implemented or not [GH-9498]
Provisioner/ansible: Quote extra-var packer_build_name to handle names with spaces [GH-9590]
https://www.packer.io/
Changelog
FEATURES:
New command hcl2_upgrade is a JSON to HCL2 transpiler that allows users to transform an existing JSON configuration template into its HCL2 template equivalent. Please see hcl2_upgrade command docs for more details. [GH-9659]
IMPROVEMENTS:
builder/amazon: Add all of the custom AWS template engines to build template function for use by provisioners. [GH-9751]
builder/amazon: Add aws_polling config option to override env variables. [GH-9777]
builder/azure: Add FreeBSD support to azure/chroot builder. [GH-9697]
builder/vmware-esx: Add network_name option to vmware so that users can set a network without using vmx data. [GH-9718]
builder/vmware-vmx: Add additional disk configuration option. Previously only implemented for vmware-iso builder [GH-9815]
builder/vmware: Add a remote_output_directory option so users can tell Packer where on a datastore to create a vm. [GH-9784]
builder/vmware: Add option to export to ovf or ova from a local vmware build [GH-9825]
builder/vmware: Add progress tracker to vmware-esx5 iso upload. [GH-9779]
builder/vsphere-iso: Add support for building on a single ESXi host [GH-9793]
builder/vsphere: Add new directory_permission config export option. [GH-9704]
builder/vsphere: Add option to import OVF templates to the Content Library [GH-9755]
builder/vsphere: Add step and options to customize cloned VMs. [GH-9665]
builder/vsphere: Update iso_paths to support reading ISOs from Content Library paths [GH-9801]
core/hcl: Add provisioner "override" option to HCL2 templates. [GH-9764]
core/hcl: Add vault integration as an HCL2 function function. [GH-9746]
core: Add colored prefix to progress bar so it's clearer what build each progress bar belongs to. [GH-9780]
core: Ui now pretty prints build durations. [GH-9749]
core: When a build is cancelled, Packer will skip postprocessors gracefully rather than failing them. [GH-9720]
integrations/secretsmanager: Add support for plaintext non-key/pair secrets. [GH-9773]
post-processor/vsphere: Improve UI to catch bad credentials and print errors. [GH-9649]
provisioner/ansible-remote: Add ansible_ssh_extra_args so users can specify extra arguments to pass to ssh [GH-9821]
provisioner/file: Clean up, bugfix, and document previously-hidden sources option. [GH-9725] [GH-9735]
provisioner/salt-masterless: Add option to option to download community SaltStack formulas. [GH-9726]
BUG FIXES:
build: Fix bug in code generator that caused generation to fail in nested packer/packer dirs [GH-9728]
build: Fix Makefile so that default target doesn't crash and creates dev binaries. [GH-9706]
builder/amazon-ebssurrogate: Make skip_save_build_region option work in the ebssurrogate builder, not just the ebs builder. [GH-9666]
builder/amazon: Add retry logic to the spot instance creation step to handle "Invalid IAM Instance Profile name" errors [GH-9810]
builder/amazon: Update the aws_secretsmanager function to read from the AWS credentials file for obtaining default region information; fixes the 'MissingRegion' error when AWS_REGION is not set [GH-9781]
builder/file: Make sure that UploadDir receives the interpolated destination. [GH-9698]
builder/googlecompute: Fix bug where startup script hang would cause export to hang. [GH-9708]
builder/hyperv: Send boot command in small chunks to make it more stable. [GH-9765]
builder/scaleway: Fix config issue that made scaleway builder fail when used with HCL2 config. [GH-9677]
builder/vmware: Fully destroy vm if it was cancelled or errored. This will make orphaned vms easier to destroy through vCenter. [GH-9782]
builder/vsphere: Fix alt, ctrl, and shift keypresses in the boot_command. [GH-9702] [GH-9739]
builder/vsphere: Fix bug where Packer timed out if two interfaces were defined but only one had an available IP. [GH-9748]
builder/vsphere: Fix the configuration_parameters option so that it is always applied, not just when the tool sync policy is set. [GH-9713]
communicator: Fix pause_before_connect option to force a reconnect after the pause. [GH-9772]
core: Make max_retries provisioner option a string to allow variable interpolation. [GH-9673]
post-processor/vsphere-template: Fix ReregisterVM to default to true instead of false. [GH-9736]
post-processor/yandex-export: Fix issue when validating region_name [GH-9814]
provisioner/inspec: Fix the 'Unsupported argument; An argument named "command"' error when using the inspec provisioner in an HCL2 configuration [GH-9800]
https://www.packer.io/
Changelog
Builder/amazon-ebs: Fix issue where retrying on invalid IAM instance profile error was creating multiple spot instances. [GH-9946]
Builder/amazon-ebssurrogate: Fix issue where builder defaults to AWS managed key even when custom kms_key_id is set. [GH-9959]
Builder/amazon: Update ssm_driver log polling logic to prevent infinite loops when SSM driver is terminated outside of Packer. [GH-9991]
Builder/azure: Fix crash when using HCL2 configs. [GH-9984] [GH-9985]
Builder/qemu: Fix hardcoded lowerbound causing negative ports [GH-9905]
Builder/qemu: Skip compaction when backing file is used. [GH-9918]
Builder/scaleway: Add pre validate step to prevent the creation of multiple images with the same name. [GH-9840]
Builder/vmware-iso: Prevent the use of reserved SCSI ID 0:7 when attaching multiple disks. [GH-9940]
Builder/vsphere: Fix overly strict iso_path validation regex. [GH-9855]
Command/console: Prevent failure when there are unknown vars. [GH-9864]
Command/inspect: Allow unset variables in HCL2 and JSON. [GH-9832]
Core: Prevent the UI progressbar from hanging and crashing when there is no TTY available. [GH-9974]
Core: Use $APPDATA over $HOME on Windows hosts when determining homedir. [GH-9830]
Post-processor/digitalocean-import: Fix crash caused by empty artifact.Files slice. [GH-9857]
Post-processor/yandex-export: Check for error after runner completes. [GH-9925]
Post-processor/yandex-export: Set metadata key to expected value on error. [GH-9849]
Post-processor/yandex-import: Fix S3 URL construct process. [GH-9931]
https://www.packer.io/
Changelog
BUG FIXES:
builder/amazon: Fix authentication issue when using instance profiles or assumed roles for loading session-derived credentials. [GH-10007]
builder/azure: Fix crash when using azure_tag or azure_tags configuration options. [GH-10014]
builder/qemu: Ensure qemu_img_args are honored during the disk convert step. [GH-10001]
https://www.packer.io/
(https://i.postimg.cc/59Tck0T2/screenshot-767.png)
Packer is a useful application for the users who need to create virtual machine images that can be used on multiple platforms. This package includes multiple command line tools that enable you to create identical images with minimum effort.
The tools support VMware, VirtualBox, Amazon EC2 or DigitalOcean platforms out of the box and enable you to extend their usage by using plugins.
Mozilla Public License
Changelog
FEATURES:
New Command (HCL only) packer init command will download plugins defined in a new required_plugins block [GH-10304] [GH-10633].
New Plugin Type Data sources can be implemented (blog post forthcoming). [GH-10440]
New Plugin Aws Secrets Manager data source [GH-10505] [GH-10467]
BACKWARDS INCOMPATIBILITIES:
core: The API that the Packer core uses to communicate with community plugins has changed; maintainers of community plugins will need to upgrade their plugins in order to make them compatible with v1.7.0. An upgrade guide will be available on our guides page https://www.packer.io/guides.
IMPROVEMENTS:
builder/amazon: Add skip_create_ami option for testing and situations where artifact is not the ami. [GH-10531]
builder/amazon: Add IMDSv2 support for AWS EBS builder. [GH-10546]
builder/amazon: Add resource tags in the launch template used to request spot instances. [GH-10456]
builder/openstack: Add skip_create_image option for testing and situations where artifact is not the image. [GH-10496]
builder/oracle-oci: Add retry strategies to oci calls [GH-10591]
core/fmt: The packer fmt can now read from stdin. [GH-10500]
core/hcl: Add regex and regexall hcl2 template functions. [GH-10601]
core/hcl: Templates now support "sensitive" locals. [GH-10509]
core/hcl: Templates now support error-cleanup-provisioner. [GH-10604]
hcl2_upgrade: Command now comes with a flag so you can control whether output templates are annotated with helpful comments. [GH-10619]
hcl2_upgrade: Command now gracefully handles options with template engine interpolations. [GH-10625]
hcl2_upgrade: Command will convert amazon filters to use the ami data source. [GH-10491]
BUG FIXES:
amazon/ebssurrogate: Apply snapshot tags at same time as when taking snapshot. [GH-10150]
builder/amazon: Fix bug where validation fails if optional iops value is unset. [GH-10518]
builder/amazon: Wrap API call to get filtered image in a retry. [GH-10610]
builder/bsusurrogate: override bsu when omi root device is set. [GH-10490]
builder/google: Fix bug where Packer would fail when run by users who do not have permission to access the metadata, even though the metadata is not necessary to the run. [GH-10458]
builder/profitbricks: Profitbricks builder could not connect using SSH communicator. [GH-10549]
builder/proxmox: Ensure ISOs in additional_iso_files are mounted during VM creation. [GH-10586]
builder/proxmox: Improve cloud init error logging for proxmox builder. [GH-10499]
builder/qemu: Fix bug where vnc_min_port set to value greater then 5900 could prevent Packer from connecting to QEMU. [GH-10450] [GH-10451]
builder/qemu: Fix regression with cd indexing when disk_interface is ide. [GH-10519]
builder/vmware-esx: Skip credential validation, which requires ovftool to be installed, if we are not exporting an image. [GH-10520]
builder/yandex: Fix cloud-init config for ubuntu 20.04. [GH-10522]
builder/yandex: Fix incorrect access to instance_id. [GH-10522]
core/hcl: Fix bug where []uint8 types could not be passed to plugins.
core/hcl: fix bug where HCL core could not handle passing []uint8 to plugins. [GH-10516]
core/hcl: Fix force flag for hcl2 provisioners and post-processors. [GH-10571]
post-processor/vsphere: Fix regression where Packer would not check the exit status after streaming UI from the ovftool command. [GH-10468]
post-processor/yandex-export: Changed dhclient command and supported configuring disk for exportupdate-dump-method. Also added support for file builder. [GH-10488]
https://www.packer.io/
Changelog
NOTES:
builder/amazon: Has been vendored in this release and will no longer be updated with Packer core. In Packer v1.8.0 the plugin will be removed entirely. The amazon components will continue to work as expected until then, but for the latest offerings of the Amazon plugin, users are encourage to use the packer init command to install the latest release version. For more details see Installing Packer Plugins
builder/docker: Has been vendored in this release and will no longer be updated with Packer core. In Packer v1.8.0 the plugin will be removed entirely. The docker builder will continue to work as expected until then, but for the latest offerings of the Docker plugin, users are encourage to use the packer init command to install the latest release version. For more details see Installing Packer Plugins
darwin/arm64: Packer now includes the darwin/arm64 binary to its releases to supports the new OSX M1. [GH-10804]
post-processor/docker-*: Have been vendored in this release and will no longer be updated with Packer core. In Packer v1.8.0 the plugin will be removed entirely. The docker builder will continue to work as expected until then, but for the latest offerings of the Docker plugin, users are encourage to use the packer init command to install the latest release version. For more details see Installing Packer Plugins
post-processor/exoscale-import: Has been vendored in this release and will no longer be updated with Packer core. In Packer v1.8.0 the plugin will be removed entirely. The exoscale-import post-processor will continue to work as expected until then, but for the latest offerings of the Exoscale plugin, users are encourage to use the packer init command to install the latest release version. For more details see Exoscale Plugin Repostiroy. [GH-10709]
IMPROVEMENTS:
builder/amazon: allow creation of ebs snapshots without volumes. [GH-9591]
builder/amazon: Fix issue for multi-region AMI build that fail when encrypting with KMS and sharing across accounts. [GH-10754]
builder/azure: Add client_cert_token_timeout option. [GH-10528]
builder/google: Make Windows password timeout configurable. [GH-10727]
builder/google: Update public GCP image project as gce-uefi-images are deprecated. [GH-10724]
builder/oracle-oci: Update Oracle Go SDK to add support for OCI flexible shapes. [GH-10833]
builder/proxmox: Allow using API tokens for Proxmox authentication. [GH-10797]
builder/qemu: Added firmware option. [GH-10683]
builder/scaleway: add support for timeout in shutdown step. [GH-10503]
builder/vagrant: Fix logging to be clearer when Vagrant builder overrides values retrieved from vagrant's ssh_config call. [GH-10743]
builder/virtualbox: Added ISO builder option to create additional disks. [GH-10674]
builder/virtualbox: Add options for nested virtualisation and RTC time base. [GH-10736]
builder/virtualbox: Add template options for chipset, firmware, nic, graphics controller, and audio controller. [GH-10671]
builder/virtualbox: Support for "virtio" storage and ISO drive. [GH-10632]
builder/vmware: Added "attach_snapshot" parameter to vmware vmx builder. [GH-10651]
command/fmt: Adding recursive flag to formatter to format subdirectories. [GH-10457]
core/hcl2: Add legacy_isotime function. [GH-10780]
core/hcl2: Add support for generating dynamic blocks within a build block. [GH-10825]
core/hcl2: Add templatefile function. [GH-10776]
core/hcl2_upgrade: hcl2_upgrade command can now upgrade json var-files. [GH-10676]
core/init: Add implicit required_plugin blocks feature. [GH-10732]
core: Add http_content option to serve variables from HTTP at preseed. [GH-10801]
core: Change template parsing error to include warning about file extensions. [GH-10652]
core: Update to gopsutil v3.21.1 to allow builds to work for darwin arm64. [GH-10697]
provisioner/inspec: Allow non-zero exit codes for inspec provisioner. [GH-10723]
BUG FIXES:
buider/azure: Update builder to ensure a proper clean up Azure temporary managed Os disks. [GH-10713]
builder/amazon: Update amazon SDK to fix an SSO login issue. [GH-10668]
builder/azure: Don't overwrite subscription id if unset. [GH-10659]
builder/azure: Set default for the parameter client_cert_token_timeout [GH-10783]
builder/google: Add new configuration field windows_password_timeout to allow user to set configurable timeouts. [GH-10727]
builder/hyperv: Make Packer respect winrm_host flag in winrm connect func. [GH-10748]
builder/openstack: Make Packer respect winrm_host flag in winrm connect func. [GH-10748]
builder/oracle-oci: Update Oracle Go SDK to fix issue with reading key file. [GH-10560] [GH-10774]
builder/outscale: Fix omi_description that was ignored in Osc builder [GH-10792]
builder/parallels: Make Packer respect winrm_host flag in winrm connect func. [GH-10748]
builder/proxmox: Fixes issue when using additional_iso_files in HCL enabled templates. [GH-10772]
builder/qemu: Make Packer respect winrm_host flag in winrm connect func. [GH-10748]
builder/virtualbox: Make Packer respect winrm_host flag in winrm connect func. [GH-10748]
builder/vmware: Added a fallback file check when trying to determine the network-mapping configuration. [GH-10543]
builder/vsphere: Fix invalid device configuration issue when creating a vm with multiple disk on the same controller. [GH-10844]
builder/vsphere: Fix issue where boot command would fail the build do to a key typing error. This change will now retry to type the key on error before giving up. [GH-10541]
core/hcl2_upgrade: Check for nil config map when provisioner/post-processor doesn't have config. [GH-10730]
core/hcl2_upgrade: Fix escaped quotes in template functions [GH-10794]
core/hcl2_upgrade: Make hcl2_upgrade command correctly translate pause_before. [GH-10654]
core/hcl2_upgrade: Make json variables using template engines get stored as locals so they can be properly interpolated. [GH-10685]
core/init: Fixes issue where packer init was failing to install valid plugins containing a 'v' within its name. [GH-10760]
core: Packer will now show a proper error message when failing to load the contents of PACKER_CONFIG. [GH-10766]
core: Pin Packer to Golang 1.16 to fix code generation issues. [GH-10702]
core: Templates previously could not interpolate the environment variable PACKER_LOG_PATH. [GH-10660]
post-processor/vagrant-cloud: Override direct upload based on box size [GH-10820]
provisioner/chef-solo: HCL2 templates can support the json_string option. [GH-10655]
provisioner/inspec: Add new configuration field valid_exit_codes to allow for non-zero exit codes. [GH-10723]
provisioner/salt-masterless: Update urls for the bootstrap scripts used by salt-masterless provide. [GH-10755]
https://www.packer.io/
Changelog
IMPROVEMENTS:
builder/alicloud: Add ramrole configuration to ECS instance. [GH-10845]
BUG FIXES:
builder/proxmox: Update Proxmox Go API to ensure only the first non-loopback IPv4 address gets returned. [GH-10858]
builder/vsphere: Fix primary disk resize on clone. [GH-10848]
core: Fix bug where call to "packer version" sent output to stderr instead of stdout. [GH-10850]
https://www.packer.io/
Changelog
IMPROVEMENTS:
We've extracted a majority of HashiCorp-maintained and community plugins from the Packer Core repository. They now live in their own multi-component plugin repositories. This is not a breaking change as we are enabling backwards compatibility in this release by vendoring components back into Packer. However, we encourage users to begin using packer init to download and install plugins to get the latest updates to each plugin, and to prepare for Packer v2.0 when we will stop vendoring the above plugins into the main Packer binary.
The following repositories have been created, and their components have been deleted from the "github.com/hashicorp/packer" repository.
"github.com/hashicorp/packer-plugin-alicloud" [GH-10932]
"github.com/hashicorp/packer-plugin-amazon" [GH-10800]
"github.com/hashicorp/packer-plugin-ansible" [GH-10912]
"github.com/hashicorp/packer-plugin-azure" [GH-10979]
"github.com/hashicorp/packer-plugin-chef" [GH-10921]
"github.com/hashicorp/packer-plugin-cloudstack" [GH-10934]
"github.com/hashicorp/packer-plugin-converge" [GH-10956]
"github.com/hashicorp/packer-plugin-digitalocean" [GH-10961]
"github.com/hashicorp/packer-plugin-docker" [GH-10695]
"github.com/hashicorp/packer-plugin-googlecompute" [GH-10890]
"github.com/hashicorp/packer-plugin-hcloud" [GH-10966]
"github.com/hashicorp/packer-plugin-hyperone" [GH-10949]
"github.com/hashicorp/packer-plugin-hyperv" [GH-10949]
"github.com/hashicorp/packer-plugin-inspec"
"github.com/hashicorp/packer-plugin-ionos-cloud"
"github.com/hashicorp/packer-plugin-jdcloud" [GH-10946]
"github.com/hashicorp/packer-plugin-linode" [GH-10947]
"github.com/hashicorp/packer-plugin-lxc" [GH-10965]
"github.com/hashicorp/packer-plugin-lxd" [GH-10965]
"github.com/hashicorp/packer-plugin-ncloud" [GH-10937]
"github.com/hashicorp/packer-plugin-openstack" [GH-10933]
"github.com/hashicorp/packer-plugin-oracle" [GH-10962]
"github.com/hashicorp/packer-plugin-outscale" [GH-10941]
"github.com/hashicorp/packer-plugin-parallels" [GH-10936]
"github.com/hashicorp/packer-plugin-profitbricks" [GH-11084]
"github.com/hashicorp/packer-plugin-proxmox" [GH-10930]
"github.com/hashicorp/packer-plugin-puppet" [GH-10943]
"github.com/hashicorp/packer-plugin-qemu" [GH-10929]
"github.com/hashicorp/packer-plugin-salt"
"github.com/hashicorp/packer-plugin-scaleway" [GH-10939]
"github.com/hashicorp/packer-plugin-tencentcloud" [GH-10967]
"github.com/hashicorp/packer-plugin-triton" [GH-10963]
"github.com/hashicorp/packer-plugin-ucloud" [GH-10953]
"github.com/hashicorp/packer-plugin-vagrant" [GH-10960]
"github.com/hashicorp/packer-plugin-virtualbox" [GH-10910]
"github.com/hashicorp/packer-plugin-vmware" [GH-10920]
"github.com/hashicorp/packer-plugin-vsphere" [GH-10896]
"github.com/hashicorp/packer-plugin-yandex" [GH-10970]
The following components will not be removed from the main packer binary:
null builder
file builder
breakpoint provisioner
file provisioner
powershell provisioner
shell provisioner
shell-local provisioner
sleep provisioner
windows-restart provisioner
windows-shell provisioner
artifice post-processor
checksum post-processor
compress post-processor
manifest post-processor
shell-local post-processor
Bug Fixes:
builder/azure: Add keep_os_disk parameter to control OS disk deletion [GH-10045]
builder/azure: Stop SIG timout from being overridden by PollingDuration [GH-10816]
builder/azure: Support shared image gallery storage account type [GH-10863]
builder/proxmox: Proxmox builder use ipv4 address instead of always ipv6. [GH-10858]
core/hcl2_upgrade: Allow hcl2_upgrade continue with unknown builders. [GH-11049]
core/hcl2_upgrade: Improve regex to fix escaping on split function. [GH-11083]
core/hcl: Fix Invalid provisioner pause_before panic [GH-10978]
core: HCL "index" function now actually returns the index of the element [GH-11008]
core: Implemented DEFAULT_NAME handling for datasource plugins [GH-11026]
Enhancements:
builder/azure: Added custom nicname and osdiskname [GH-10938]
builder/azure: Add support for shared image gallery storage account type [GH-10863]
builder/digitalocean: support ecdsa, ed25519, dsa temporary key types. [GH-10856]
builder/ncloud: Support ncloud vpc version [GH-10870]
core/fmt: When reading from stdin packer fmt will output the contents of the formatted file even if the input was already formatted. [GH-11047]
core/hcl: HCL variables are now supported within the name, only, except, and keep_input_artifact fields for post-processor blocks. [GH-11094]
core/hcl: Running packer build with an -only or -exclude flag will now inform the user if no match was found. [GH-11050]
post-processor/compress: Add bzip2 support to post-processor [GH-10867]
post-processor/googlecompute-import: Add Image Storage Locations field [GH-10864]
Removed the golang "vendor" directory in favor of go modules. This should not affect end users. [GH-10916]
https://www.packer.io/
Changelog
FEATURES:
Future Scaffolding This release contains no-op refactors in preparation for connecting Packer to the HCP Packer Registry.
IMPROVEMENTS:
hcl2_upgrade: support strftime function. [GH-11220]
provisioner/file: add option to set content + tests. [GH-11209]
provisioner/inspec: Remove inspec provisioner from Packer core. [GH-11230]
provisioner/salt-masterless: Remove salt-masterless provisioner from Packer core to github.com/hashicorp/packer-plugin-salt/provisioner/salt- masterless. [GH-11229]
BUG FIXES:
builder/azure: Bump plugin to latest version to address a vulnerable dependency in azure-sdk-for-go. [GH-11162]
builder/googlecompute: Bump plugin to latest version to fix an issue when building an instance via an IAP tunnel. [GH-11235]
builder/ncloud: Bump ncloud dependency to fix dependency that got deleted from github [GH-11224]
core: Fix {{packer_version}} interpolation regression for HCL and JSON templates. [GH-11200]
hcl2_upgrade: Fix panic when file does not exist. [GH-11206]
hcl2_upgrade: special case: vsphere fix. [GH-11216]
https://www.packer.io/
Changelog
NOTES:
HCP Packer compatible plugins will contain a "HCP Packer Ready" badge at the top of on their documentation page. GH-11456
Packer core documentation now supports versioning on Packer.io. Users can select documentation for the version of Packer they are using. GH-11434
The hcp_packer_registry.labels argument has been deprecated in favor of the new bucket_labels argument to support custom user generated bucket labels. GH-11401
The code of the Outscale builder was handed over to the outscale org GH-11428
Version information for external plugins has been added as a badge to the plugin documentation. GH-11457
The following unmaintained external provisioner plugins have been archived: chef, converge, inspec, salt-masterless, puppet. More information on what this deprecation means for users can be found on the blog post - Plans to Archive Unmaintained Provisioner Plugins
PLUGINS:
External plugins have been pinned to the following versions. Please see their respective changelogs for details on plugin specific bug fixes and improvements.
alicloud@v1.0.1 - CHANGELOG
amazon@v1.0.6 - CHANGELOG
ansible@v1.0.1 - CHANGELOG
azure@v1.0.4 - CHANGELOG
chef@v1.0.2 - CHANGELOG
cloudstack@v1.0.0 - CHANGELOG
converge@v1.0.1 - CHANGELOG
digitalocean@v1.0.1 - CHANGELOG
docker@v1.0.3 - CHANGELOG
googlecompute@v1.0.9 - CHANGELOG
hcloud@v1.0.2 - CHANGELOG
hyperone@v1.0.0 - CHANGELOG
hyperv@v1.0.1 - CHANGELOG
inspec@v1.0.0 - CHANGELOG
jdcloud@v1.0.0 - CHANGELOG
linode@v1.0.1 - CHANGELOG
lxc@v1.0.0 - CHANGELOG
lxd@v1.0.0 - CHANGELOG
ncloud@v1.0.1 - CHANGELOG
oneandone@v1.0.0 - CHANGELOG
openstack@v1.0.0 - CHANGELOG
oracle@v1.0.1 - CHANGELOG
outscale@v1.0.2 - CHANGELOG
parallels@v1.0.0 - CHANGELOG
profitbricks@v1.0.1 - CHANGELOG
proxmox@v1.0.4 - CHANGELOG
puppet@v1.0.1 - CHANGELOG
qemu@v1.0.1 - CHANGELOG
salt@v1.0.0 - CHANGELOG
tencentcloud@v1.0.3 - CHANGELOG
triton@v1.0.0 - CHANGELOG
ucloud@v1.0.0 - CHANGELOG
vagrant@v1.0.1 - CHANGELOG
virtualbox@v1.0.1 - CHANGELOG
vmware@v1.0.5 - CHANGELOG
vsphere@v1.0.2 - CHANGELOG
yandex@v1.0.3 - CHANGELOG
scaleway@v1.0.4 - CHANGELOG
IMPROVEMENTS:
core/hcl2: Add bucket_labels argument to the hcp_packer_registry block to support custom user generated bucket labels. GH-11401
core/hcl2: Add build_labels argument to the hcp_packer_registry block to support custom user generated build labels. GH-11401
core/hcl2: Allow for the use of variables and locals within a build block. GH-11421
core/hcl2: Allow for the use of variables and locals within a hcp_packer_registry block. GH-11421
core/website: Add HCP Packer Ready badge to supported plugins. GH-11456
core/website: Add Packer version selection toggle to Packer core documentation. GH-11434
core/website: Add version information to external plugin documentation. GH-11456
core/website: Extract external plugins documentation from packer.io/docs/ into packer.io/plugins. GH-11464
core: Add Packer user agent information to HCP Packer client requests. GH-11455
core: Bump github.com/hashicorp/packer-plugin-sdk from 0.2.9 to 0.2.11 to prevent HCP Packer builds from failing when no SourceImageID is provided.GH-11459
core: Bump to latest preview version of hashicorp/hcp-sdk-go to prevent HCP Packer builds from trying to update a revoked iteration. GH-11492
provisioner/powwershell: Tiny tweaks and fixes for the PowerShell provisioner. GH-11410
BUG FIXES:
core/hcl2: Allow the use of build.name for naming provisioners and post-processors. GH-11432
core/hcl2: Fix crash when a provisioner timeout argument is improperly formatted. GH-11382
core/hcl2: HCP Packer builds containing metadata not expected by Packer core will no longer fail the build. GH-11458
provisioner/file: File provisioner will now perform a noop when no source file content is specified; previously missing content resulted in a hard fail. GH-11349
https://www.packer.io/
Changelog
IMPROVEMENTS:
Print all locals errors when there is a circular error. [GH-11527](https://github.com/hashicorp/packer/pull/11527
BUG FIXES:
Prevent duplicate local block creation. GH-11534
Update psutils dep to avoid crash on Arm64 Macs. GH-11546
https://www.packer.io/
Changelog
FEATURES:
New Command packer plugins command and subcommands to manage external plugins. GH-11553 GH-11625
IMPROVEMENTS:
core: Add a env argument to provisioner blocks that allow for setting a map of key/value pairs to inject prior to the execute_command. The env argument is an alternative to using environment_vars for setting environment variables, which has the added ability to read from Packer datasources. GH-11569
core: Bump version of go-getter to allow for downloading ISOs with PGP signed checksums. GH-11495
core: Docker images are now available for all supported architectures that the linux binaries are built for including arm, arm64, 386, and amd64 GH-11564 GH-11601 GH-11603
core: Packer's linux package service configs and pre/post install scripts are now available under .release/linux. GH-11601 GH-11603
core: Packer's linux packages are now available for all supported linux architectures including arm, arm64, 386, and amd64 GH-11564 GH-11601 GH-11603
core: The dockerfile that is used to build the packer docker image available at hashicorp/packer now lives in the root of this repo. The README that describes how to build the docker targets defined in the Dockerfile are available under ./release/docker/README.md. GH-11564 GH-11601 GH-11603
core: The packer-plugin-check command has been removed. Plugin maintainers should update their release configuration to use the packer-sdc plugin- check command. GH-11317
BUG FIXES:
core/hcl2: Fixes an issue preventing builds from pausing between provisioners when the --debug argument has been passed. GH-11537
core/hcl2: Fixes a data loss issue when merging an empty-object map to a non- empty map variable. GH-11566
core/hcl2: Fixes a regression where references to locals via the lookup function were failing to find defined keys. GH-11566
core/hcl2: Fixes an issue where HCP Packer build labels from the first completed build image were being copied to all images within the same build. GH-11574 GH-11584
core: HCP Packer datasources will no longer fail for iterations with scheduled revocations. GH-11619
core: Packer darwin builds now use macOS system DNS resolver for resolving hostnames.GH-9710 GH-11564
https://www.packer.io/
Changelog
FEATURES:
New Datasource HTTP datasource retrieves information from a HTTP endpoint to be used during Packer builds
PLUGINS:
External plugins have been pinned to the following versions. Please see their
respective changelogs for details on plugin specific bug fixes and improvements:
alicloud@v1.0.2
amazon@v1.1.0
ansible@v1.0.2
azure@v1.0.8
chef@v1.0.2
cloudstack@v1.0.1
converge@v1.0.1
digitalocean@v1.0.3
docker@v1.0.5
googlecompute@v1.0.13
hcloud@v1.0.4
hyperone@v1.0.1
hyperv@v1.0.3
inspec@v1.0.0
jdcloud@v1.0.1
linode@v1.0.3
lxc@v1.0.1
lxd@v1.0.1
ncloud@v1.0.3
oneandone@v1.0.1
openstack@v1.0.1
oracle@v1.0.2
parallels@v1.0.2
profitbricks@v1.0.2
proxmox@v1.0.7
puppet@v1.0.1
qemu@v1.0.4
salt@v1.0.0
tencentcloud@v1.0.5
triton@v1.0.1
ucloud@v1.0.1
vagrant@v1.0.2
virtualbox@v1.0.3
vmware@v1.0.5
vsphere@v1.0.4
yandex@v1.1.1
IMPROVEMENTS:
Bump hcp-sdk-go to latest version.
Plugins installed via the packer plugins install command will now automatically load for builds using HCL2 templates without a
required_plugins block.
Plugins installed via the packer plugins install command will now automatically load for builds using JSON templates.
BUG FIXES:
Bump github.com/hashicorp/go-getter to fix the untarring of OVA files regression.
Bump github.com/hashicorp/packer-plugin-sdk to address legacy SSH key algorithms in SSH communicator.
https://www.packer.io/
Changelog
IMPROVEMENTS:
Add pause_after configuration argument to Powershell provisioner. GH-11792
HCP Packer data sources will now fail for revoked iterations to prevent building non-compliant images. GH-11854
BUG FIXES:
Add missing support for the env configuration argument in remote shell provisioners. GH-11819
The preinst and postrm user scripts, including the service configuration directives, have been removed from the Packer rpm installations packages, as Packer does not require a service user in order to run. GH-11831
https://www.packer.io/
Changelog
There's been a change in the way the ssh_timeout and the ssh_handshake_attempts configuration arguments work together. The behaviour is unchanged if both or none are specified. However, if only one of the two is set the other won't have a default value anymore and will be ignored.
Packer-plugin-digitalocean: The Digital Ocean Packer plugin has been handed over to the Digital Ocean team. New releases for this plugin are available at https://github.com/digitalocean/packer-plugin-digitalocean. This plugin is still being bundled in the Packer binary but will be removed in a future release. Existing references to the plugin will continue to work but users are advised to update the required_plugins block to use the new plugin source address. GH-11912
Required_plugins {
Digitalocean = {
Source = "github.com/digitalocean/digitalocean"
Version = ">=1.0.8"
Packer-plugin-outscale: The Outscale Packer plugin managed by the Outscale team, since Packer 1.7.9, has been removed from the Packer binary. Users are advised to install the latest version of the plugin by running packer plugins install github.com/outscale/outscale. GH-11912
Packer-plugin-outscale: The Scaleway Packer plugin managed by the Scaleway team, since Packer 1.7.7, has been removed from the Packer binary. Users are advised to install the latest version of the plugin by running packer plugins install github.com/scaleway/scaleway. GH-11912
FEATURES:
Future Scaffolding: This release contains additional changes that allow Packer core to validate that a newly built image is a direct child of a HCP Packer registry source image. This feature is only available for HCP Packer enabled builds using the hcp_packer_image and hcp_packer_iteration data source for setting a builder's source image. GH-11861
IMPROVEMENTS:
Bump packer-plugin-sdk to v0.3.1 to fix inconsistencies between ssh_timeout and ssh_handshake_attempts configuration arguments in the SSH communicator. GH-11909
Core: During long running builds the HCP Packer registry will mark a build as timed out if it has not posted an update after a certain number of minutes. For HCP Packer enabled builds a status update will now be sent every 2 minutes to the registry to prevent long builds from being marked as timed out. GH-11846
Data/hcp_packer_image: Add component_type configuration argument to support specifying an exact build image when multiple images exist in the same provider and region for a given HCP Packer bucket iteration. GH-11872
Data/hcp_packer_image: Add support for channel as input argument to retrieve an image from the associated iteration. If using several images from a single iteration, you may prefer sourcing an iteration first, and referencing it for subsequent uses, as every hcp_packer_image with the channel set will generate a potentially billable HCP Packer request, but if several hcp_packer_images use a shared hcp_packer_iteration that will only generate one potentially billable request. GH-11865
BUG FIXES:
Core/hcl2: Fix crash when parsing malformed provisioner override blocks. GH-11881
Core/hcl2: Fix crash when running packer validate on templates containing one or more HCP Packer data sources. GH-11883
https://www.packer.io/
(https://i.postimg.cc/59Tck0T2/screenshot-767.png)
Packer is a useful application for the users who need to create virtual machine images that can be used on multiple platforms. This package includes multiple command line tools that enable you to create identical images with minimum effort.
The tools support VMware, VirtualBox, Amazon EC2 or DigitalOcean platforms out of the box and enable you to extend their usage by using plugins.
Mozilla Public License
Changelog
NOTES:
Packer user documentation has been moved to the new HashiCorp developer documentation portal. The main Packer site (https://www.packer.io) will continue to be the home for Packer but all requests for general documentation and binary downloads will be redirected to https://developer.hashicorp.com/packer. Users are encouraged to visit the developer documentation portal for access to all Packer related documentation; including integrations with HCP Packer.
The Oracle builder and post-processor are no longer vendored with Packer core. Users of the Oracle plugin should use packer init to install the latest version of the plugin. See the Oracle Plugin Documentation for more information. GH-11983
HCP Packer environment variables: The behavior of some HCP Packer-specific environment variables have changed slightly. Refer to HCP Packer in the Packer documentation for a full list of HCP Packer environment variables. GH-12059
For JSON templates, the HCP_PACKER_REGISTRY environment variable was previously required to enable the HCP Packer integration. In this release, the environment variable is now optional, and can be used for disabling the publishing of metadata for any HCP Packer enabled configuration template.
For HCL2 templates, the HCP_PACKER_REGISTRY environment variable can be used to disable publishing to a HCP Packer registry even if the template defines a hcp_packer_registry block. This can be useful for testing that a template works as intended prior to pushing metadata to HCP Packer.
The HCP_PACKER_BUCKET_NAME environment variable is now the only requirement to push metadata to a HCP Packer registry, in both JSON and HCL2 templates without a hcp_packer_registry block.
FEATURES:
Provisioner/powershell: Add use_pwsh configuration argument to support pwsh in powershell provisioner. GH-11950
PLUGINS:
Builder/oracle: Remove Oracle plugin from the list of vendored plugins. GH-11983
IMPROVEMENTS:
Command/hcl2_upgrade: Has been updated to persist all possible template engine options that were supported by the legacy JSON templates. While the upgrade command copies the template engine options as is support for the template options may not actually work with HCL2 templates; indicated by an error similar to fieldname type <no value> is invalid. Before executing a build with the upgraded template you are encouraged to run packer validate against the template and fix any invalid <no value> references. GH-12068
Core/hcl2: Packer will now report an error when executing a build with no sources selected for execution. GH-12016
Core/hcp: Configuration errors for HCP Packer enabled builds have been consolidated into a single report to help users address all potential issues before retrying their build. GH-12031
Core/hcp: Named builds within a legacy JSON template are now published to a HCP Packer registry using its full build name (e.g happycloud.windows-srv-2019), as opposed to just the build name field (e.g "name"="windows-srv-2019"). Builders with no defined name will continue to publish build metadate using the builder type as the build name (e.g happycloud). GH-12059
Core:hcl2: When a variable is set in a variables definitions file (i.e *.pkrvars.hcl), but isn't defined with the template files (i.e *.pkr.hcl), the outputted error message will now include an example of variable block that can be added to the build template to remedy the issue. GH-12020
Core: Add ppc64le to binary releases for Linux. GH-11966
Core: Bump github.com/hashicorp/packer-plugin-sdk from 0.3.1 to 0.3.2. GH-11981
Core: Bump supported Go version to 1.18. GH-11927
BUG FIXES:
Command/hcl2_upgrade: special case: Azure shared_image_gallery fix. GH-12087
Core: Bump golang.org/x/sys to address CVE-2022-29526. GH-11953
Core: Bump golang.org/x/text to v0.3.8. GH-12047
Core: Update dependency to resolve GO-2022-0969. GH-12009
https://www.packer.io/
Changelog
NOTES:
data/packer-image-iteration has been removed. This was an undocumented and unusable data source that was built for experimentation but not released. It should not affect users in any way but is being mentioned for visibility purposes. GH-12111
FEATURES:
core: Metadata for capturing template types such as JSON or HCL2 has been added to the HCP Packer registry metadata. Upon running a packer build the type of template used during execution will be sent along to the registry as additional build metadata.GH-12132
PLUGINS:
The following external plugins have been updated and pinned to address open issues. Please see their respective changelogs for details on plugin specific bug fixes and improvements.
alicloud@v1.0.5 - CHANGELOG
amazon@v1.1.6 - CHANGELOG
proxmox@v1.1.0 - CHANGELOG
vsphere@v1.0.7 - CHANGELOG
qemu@v1.0.8 - CHANGELOG
IMPROVEMENTS:
cmd/hcl2_upgrade: Generate variable block for all referenced user input variables. GH-12136
cmd/validate: Add support for the -evaluate-datasources flag to evaluate the data sources from a template during validation time. GH-12106 GH-12152
core/hcl2: Variable definition files containing undeclared variables within an HCL2 template will no longer warn during build execution. Warnings will be displayed to a user during template validation, which can be disabled by passing the -no-warn-undeclared-var flag to the validate command. GH-12104 GH-12109
core: Docker images have been updated to include the xorriso package for supporting the creation of ISO files.GH-12081
core: Split HCP Packer publishing components into a separate internal-only module. GH-11 GH-12116
BUG FIXES:
cmd/init: The init command will try to fallback to the next available version for a plugin, if the most recent version is not available or has a missing checksum file. This should prevent Packer from trying to install versions that have a GitHub tag but no actual assets. GH-12103
cmd/plugins: The plugins install sub-command will try to fallback to the next available version for a plugin, if the most recent version is not available or has a missing checksum file. This should prevent Packer from trying to install versions that have a GitHub tag but no actual assets. GH-12103
core: Bump Go version to 1.18.9 to address vulnerability GO-2022-1144, which concerns the net/http and golang.org/x/net packages.GH-12153 GH-12158
core: Fix the registration of deleted input artifacts in HCP Packer when setting keep_input_artifacts to false.GH-11462
core: Using different template types when building a HCP Packer image iteration will now trigger a runtime build error due to the mixing of template types. GH-12132
https://www.packer.io/
Changelog
NOTES:
Core: Users will see some changes in how names are displayed during a Packer build for JSON templates. Previously only the builder type or the builder name, if it was set, would be displayed. Now for named builders ("name":"mybuilder") the builder's type and name will be displayed (i.e ".mybuilder". This does not impact the behavior of options such as only or except, they will continue to work as they did before.)
IMPROVEMENTS:
Bump bundled plugins to latest available version. GH-12271
Bump github.com/hashicorp/hcp-sdk-go from 0.28.0 to 0.29.0 GH-12163
Bump github.com/hashicorp/hcp-sdk-go from 0.33.0 to 0.34.0 GH-12262
Core/hcl2: Packer will no longer warn on excluded post-processors when using -only/exlude filters for running select builds. GH-12187
BUG FIXES:
Cmd/hcl2_upgrade: Fix crash when variables block is undefined. GH-12250
Core/hcl2: Templates with build blocks referencing an unknown source block would display an empty string for the template filename at line 0, which made it difficult to identify the broken build block. Packer has been updated to display the proper filename and line number where the unknown reference resides. GH-12167
Core: Linux packages now have vendor label and set the default label to HashiCorp. This fix is implemented for any future releases, but will not be updated for historical releases.
Core/hcp: The bucket's description was not properly set in the bucket object sent to HCP Packer leaving all newly created buckets with an empty description. [GH-12235] GH-12235
https://www.packer.io/
Changelog
NOTES:
Vendored plugins within Packer have not been updated. Plugin releases occur on a regular basis to address issues and feature requests. Users are encouraged to use packer init for HCL2 templates or packer plugins install with legacy JSON templates for installing external plugins.
packer-plugin-digitalocean: The Digital Ocean Packer plugin has been handed over to the Digital Ocean team. New releases for this plugin are available at https://github.com/digitalocean/packer-plugin-digitalocean.
required_plugins {
digitalocean = {
source = "github.com/digitalocean/digitalocean"
version = ">=1.1.1"
packer-plugin-linode: The Linode plugin has been handed over to the Linode team. New releases for this plugin are available at https://github.com/linode/packer-plugin-linode. This plugin is is no longer being bundled in the Packer binary release. Existing references to the plugin will continue to work but users are advised to update the required_plugins block to use the new plugin source address. GH-12329
required_plugins {
linode = {
source = "github.com/linode/linode"
version = ">=1.0.5"
packer-plugin-ucloud: The UCloud plugin has been handed over to the UCloud team. New releases for this plugin are available at https://github.com/ucloud/packer-plugin-ucloud. This plugin is is no longer being bundled in the Packer binary release. Existing references to the plugin will continue to work but users are advised to update the required_plugins block to use the new plugin source address. GH-12335
required_plugins {
ucloud = {
source = "github.com/ucloud/ucloud"
version = ">=1.0.8"
packer-plugin-profitbricks: The Profitbricks plugin has been removed as a bundled plugin in Packer. New releases for this plugin are available at https://github.com/hashicorp/packer-plugin-profitbricks. This plugin is is no longer being bundled in the Packer binary release. Existing references to the plugin will continue to work but users are advised to update the required_plugins block to use the new plugin source address. GH-12385
required_plugins {
ucloud = {
source = "github.com/hashicorp/profitbricks"
version = ">=1.0.2"
PLUGINS:
core: Migrate external Linode plugin to linode/packer-plugin-linode. GH-12329
core: Migrate external UCloud plugin to ucloud/packer-plugin-ucloud. GH-12335
core: Remove external plugin for Digital Ocean as a vendored plugin. GH-12376
core: Remove external plugins for Profitbricks and 1&1 as vendored plugins. GH-12385
docs: Add HCP Ready label to Oracle builder components. GH-12217
IMPROVEMENTS:
cmd/console: Add config-type flag to command help. GH-12360
core: Add enhanced support to Packer telemetry for HCL2. GH-12319
Enhance zsh completion for the Packer command. GH-12356, GH-12366
BUG FIXES:
cmd/hcl2_upgrade: Fix a crash when running the hcl2_upgrade command against a legacy JSON template containing user variables with an undefined variables block. GH-12257
core: Bump github.com/hashicorp/hcp-sdk-go to 0.36.0. GH-12292
core: Bump github.com/hashicorp/packer-plugin-sdk to 0.4.0 to address CVE-2023-0475, CVE-2022-41723. GH-12306
core: Bump Go module version to 1.20 GH-12380
core: Fix regression introduced in 1.8.6, where legacy JSON templates with custom builder names are outputted to STDOUT as uninterpolated user variables. GH-12290
https://www.packer.io/
Changelog
NOTES:
Breaking Change: Iteration fingerprints used to be computed from the Git SHA of the repository where the template is located when running packer build. This changes with this release, and now fingerprints are automatically generated as a ULID. This implies that continuing an existing iteration will require users to define the fingerprint in the environment manually in order to adopt this behaviour, otherwise, by default, a new iteration will be created. This does not impact workflows where the fingerprint was defined through the HCP_PACKER_ITERATION_FINGERPRINT environment variable, and these builds will work exactly as they did before. GH-12172
Breaking Change:
Community-maintained plugins bundled with the Packer binary have been removed. These external plugin components are released independently of Packer core and can be installed directly by the user. Users relying on the external plugin components listed below should refer to the packer plugins sub-command and, if using HCL2, a required_plugins block to define a list of plugins for building a template.
PLUGINS:
Remove provisioner plugins for Chef, Converge, Puppet, Salt, and Inspec as vendored plugins. These plugins have been previously archived and not updated in release since being archived. These plugins can be installed using packer init or with the Packer plugins sub-command packer plugins install github.com/hashicorp/chef. GH-12374
The following community plugins won't be bundled with Packer anymore:
Alicloud
CloudStack
HCloud
HyperOne
Hyper-V
JDCloud
LXC
LXD
NCloud
OpenStack
Proxmox
TencentCloud
Triton
Yandex
GH-12436
Users relying on these external plugin components should refer to the packer plugins sub-command and, if using HCL2, a required_plugins block to define a list of plugins to use for building a template.
IMPROVEMENTS:
core/hcp: Now, fingerprints used by HCP Packer are randomly generated ULIDs instead of a Git SHA, and a new one is always generated, unless one is specified in the environment.
GH-12172
BUG FIXES:
Fix LDFLAGS for release pipelines: Between Packer 1.8.5 and Packer 1.8.7, changes to the LDFLAGS in use for building the binaries for Packer had mistakenly removed some compilation flags, leading to the final binaries not being stripped. This change raised the size of the built binaries by as much as 45%. In this release, we fixed the LDFLAGS during compilation, yielding leaner binaries.
Bumped gopsutil to v3. This fixes a macOS intermittent crash reported by the community GH-12430
https://www.packer.io/
Changelog
BUG FIXES:
Fixed a bug with how Packer was discovering plugins: in order to load plugins, Packer would recursively scan all the known directories in which we could have installed plugins. This caused unnecessary directory walks and slowdowns upon invocation. Packer will now only check for nested plugins within the directories used by commands such as packer init, or packer plugins install, or as defined in PACKER_PLUGIN_PATH. Refer to Packer's plugin directory documentation for details on how loading works. GH-12414
The packer init subcommand now bundles all the missing installed plugins into one condensed warning, as opposed to one warning per missing plugin. GH-12506
PLUGINS:
packer-plugin-parallels: The Parallels plugin has been handed over to the Parallels team. New releases for this plugin are available at https://github.com/parallels/packer-plugin-parallels. This plugin is no longer being bundled in the Packer binary release. Existing references to the plugin will continue to work but users are advised to update the required_plugins block to use the new plugin source address. GH-12476
required_plugins {
parallels = {
source = "github.com/parallels/parallels"
version = "~> 1"
IMPROVEMENTS:
The hcl2_upgrade sub-command will now add required_plugins to the template generated from JSON for official plugins. GH-12504
https://www.packer.io/
Changelog
NOTES:
New Docker Image: As part of the bundled plugin removal effort, a new Docker target called release-full has been added to the Packer release artifacts. The release-full image includes Packer and all the official plugins pre-installed in its environment. This image is being offered as an alternative option for those users who may still be relying on the plugin versions bundled into the Packer binary. GH-12532
IMPROVEMENTS:
core/docs: Clarify the expected usage of the packer init command for HCL2 template builds.GH-12535
core/hcp: Add support for project-level service principals. A user connecting with a project level service principals must provide a valid HCP_PROJECT_ID in order to connect. GH-12520 GH-12576
core: A new Docker image packer:release-full has been added for all supported architectures. The release-full image includes Packer and all the official plugins pre-installed in its environment. GH-12532
core: Add enhanced support to Packer telemetry for bundle plugins usage. GH-12536
BUG FIXES:
core: Bump golang.org/x/net to v0.13.0 to address CVE GO-2023-1988. Packer itself is not vulnerable to the CVE as we don't render web pages, but security checks do point it as an issue that needs to be addressed. GH-12561
core: Fix custom plugin loading in current working directory regression. GH-12544
https://www.packer.io/
Changelog
NOTES
A LICENSE.txt file has been added to the Packer release artifacts.
12981
FEATURES
Packer users can now track Packer version and plugin versions used for each
build artifact in HCP Packer.
GH-12891
GH-12910
GH-12923
GH-12926
SECURITY
Bump github.com/go-jose/go-jose/v3 to address GHSA-c5q2-7r4c-mv6g .
GH-12928
Bump golang.org/x/net to v0.24.0 to address GO-2024-2687.
GH-12924
BUG FIXES
cmd/fmt: Display information error when Packer fmt fails due to HCL2
parsing error. GH-12870
https://www.packer.io/