Packer Plugin Sdk

Packer Plugin SDK enables building Packer plugins (builders, provisioners, or post-processors) to manage any service providers or custom in-house solutions
Alternatives To Packer Plugin Sdk
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Feflow1,2842a month ago117July 15, 202217otherTypeScript
🚀 A command line tool aims to improve front-end engineer workflow and standard, powered by TypeScript.
28 months ago28May 13, 20217mitTypeScript
Figma plugin builder
Phulp29616102 years ago29August 01, 20191mitPHP
The task manager for php
9 years ago4apache-2.0Java
An experimental Gradle plugin which generates compile-safe format string builders.
5 months ago21apache-2.0Java
IntelliJ IDEA plugin which generates an inner builder class
Awesome Elementor248
8 months ago
A collection of third party add-ons for the Elementor page builder plugin.
Laravel Datatables Html24123759a month ago141October 06, 20224mitPHP
Laravel DataTables HTML Builder Plugin
Live Composer Page Builder155
a month ago57gpl-3.0PHP
Free page builder plugin for WordPress
8 years ago2mitRuby
This Rails plugin is the easiest way to export to Excel. It gives you the ability to call to_xls to a collection of activerecords. The builder options are the same as to_json / to_xml, except for the :include.
Commodore134718 months ago13June 12, 20227mitJava
Utility for using Minecraft's 1.13 'brigadier' library in Bukkit plugins.
Alternatives To Packer Plugin Sdk
Select To Compare

Alternative Project Comparisons

Go Reference

Packer Plugin SDK

This SDK enables building Packer plugins. This allows Packer's users to use both the officially-supported builders, provisioners, and post-processors, and custom in-house solutions.

Packer itself is a tool for building identical machine images for multiple platforms from a single source configuration. You can find more about Packer on its website and its GitHub repository.

Packer CLI Compatibility

Packer v1.7.0 or later is needed for this SDK. Versions of Packer prior to that release are still compatible with third-party plugins, but the plugins should use the plugin tooling from inside earlier versions of Packer to ensure complete API compatibility.

Go Compatibility

The Packer Plugin SDK is built in Go, and uses the support policy of Go as its support policy. The two latest major releases of Go are supported by the SDK.

Currently, that means Go 1.14 or later must be used when building a provider with the SDK.

Getting Started

See the Extending Packer docs for a guided tour of plugin development.


See the Extending Packer section on the Packer website.

Packer Scope (Plugins VS Core)

Packer Core

  • acts as an RPC client
  • interacts with the user
  • parses (HCL/JSON) configuration
  • manages build as whole, asks plugin(s) to manage the image lifecycle and modify the image being built.
  • discovers plugin(s) and their versions per configuration
  • manages plugin lifecycles (i.e. spins up & tears down plugin process)
  • passes relevant parts of parsed (valid JSON/HCL) and interpolated configuration to plugin(s)

Packer Provider (via this SDK)

  • acts as RPC server
  • executes any domain-specific logic based on received parsed configuration. For builders this includes managing the vm lifecycle on a give hypervisor or cloud; for provisioners this involves calling the operation on the remote instance.
  • tests domain-specific logic via provided acceptance test framework
  • provides Core with template validation, artifact information, and information about whether the plugin process succeeded or failed.

Migrating to SDK from built-in SDK

Migrating to the standalone SDK v1 is covered on the Plugin SDK section of the website.


The Packer Plugin SDK is a Go module versioned using semantic versioning.


See .github/


Mozilla Public License v2.0

Popular Plugin Projects
Popular Builder Projects
Popular Libraries Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.