packer

Plans to Archive Unmaintained Packer Provisioner Plugins

We plan to archive some unmaintained HashiCorp Packer provisioner plugins. Here’s what that means for practitioners.

For some time, the best practice amongst HashiCorp Packer users has been to use shell and shell-local provisioners to execute tools such as Chef, InSpec, Puppet, and Salt. However, due to early first-class integrations, we have maintained plugins for such tools for more than four years. The Packer team is currently supportive of third parties maintaining first-class plugins for these, but in the absence of such maintenance, the team recommends the more common approach of installing and running these tools via the shell or shell-local provisioners.

Given this common practice of using shell and shell-local to execute tools instead of Packer's early first-class integrations, development of some of the community-maintained plugins has slowed. When this happens, HashiCorp may use GitHub's option to archive the plugin’s repository, to clearly signal the plugin's status to users.

With the release of the Packer init command in Packer 1.7, we extracted all non-core plugins from the Packer core repository into their own respective repositories, and have labeled community-maintained plugins on their respective documentation pages. Unmaintained plugins were also labeled to indicate to users that certain plugins were no longer under active development: see Puppet Masterless for an example.

We understand that some plugins may be critical to existing user workflows, so we are sharing our plans for archiving plugins to assist users in navigating the change.

Archiving is used in this case to direct users toward a different way to do things, and is reversible if a new maintainer steps forward. If you are interested in maintaining an archived plugin, please reach out to us at packer@hashicorp.com.

»What Will Change?

In Packer release v1.7.9, which is slated for release in late November 2021, we will archive the following plugin repositories:

In Packer 1.7.9, the plugins listed above will be released one last time before archiving. The final release of each plugin will be bundled into the single Packer release binary as we do currently, to prevent any breaking changes. The final release will also be available for installation via the packer init command for users using HCL2 templates with Packer 1.7.0+.

The code repositories along with all commits and issues remain available. Existing binaries for historical releases will also continue to be available on the releases site. Documentation for each of the plugins will also remain available on the Packer website, and will be updated with a notice, reflecting the archival status of the plugin.

In the next minor release of Packer — version 1.8.0, slated for early 2022 — the archived plugins and other non-core plugins will no longer be bundled in the Packer binary. When that occurs, users will have to use the packer init command to install the latest available versions of non-core plugins, including any archived plugins.

Users who are not able to install via packer init are encouraged to manually install plugins using the steps described in the Installing Plugins documentation.

»Next Steps

For users of the plugins slated to be archived in 1.7.9, there is no immediate action needed at this time. Your workflows will continue to work with the latest version of Packer. However, before the release of 1.8 in 2022, we encourage you to look into migrating from these archived plugins to using the shell or shell-local provisioners for executing these third-party tools.

Please remember that archiving is reversible; if anyone from the community is willing to maintain an archived plugin, please reach out to us at packer@hashicorp.com for more details.

Sign up for the latest HashiCorp news