Packer
Plugin installation overview
This topic provides overview information about installing and loading Packer plugins. Plugins are standalone applications that perform additional tasks during each build.
Introduction
The Packer binary includes a set of built-in components that are automatically usable. You can also install external plugins for Packer to run and communicate with throughout the build. These external plugins extend Packer functionality without modifying the core source code. Packer launches one plugin process for each component in the build.
Workflows
To use a plugin with Packer, you must install the plugin code and its SHA256SUM file into the Packer plugins directory. Refer to Installing Plugins for instructions. If you are unable to use an installed plugin refer to the Plugin Loading - Specification for details on how Packer discovers and loads plugins.
Where Packer stores plugins
Packer stores external plugins that are downloaded during initialization into the plugins directory. The default plugins directory is $HOME/.config/packer/plugins
on Unix and %APPDATA%\packer.d\plugins
on Windows. Refer to PACKER_PLUGIN_PATH
in the configuration reference for additional information.
Guidance
Refer to the following plugin documentation for details about the plugin installation process:
Installing plugins
Refer to Installing Plugins for instructions on adding external plugins to your Packer template and installing the binaries.
External plugins
Refer to the Packer Integrations documentation to learn about the available external plugins not included with the Packer binary.
Built-in plugins
- Packer uses plugins called builders to create machines and images. Refer to Builders for additional information.
- The data sources plugin fetches data to use in a template. Refer to Data Sources for additional information.
- Plugins called provisioners install and configure machine images after booting. Refer to Provisioners for additional information.
- Post-processors perform additional tasks after provisioning. Refer to Post-Processors for additional information.
Developing plugins
Refer to the Developing Plugins to learn how to create custom external plugins.