View a live example of Punk here!
HashiCorp Packer is a tool for automating the creation of machine images. Packer uses templates for defining one or more builds using one of two file formats, JSON and HCL.
I created Punk as a means to provide a GUI for creating Packer templates.
To put it quite simply, Punk provides a simple and clean user interface that allows users to focus more on the specific details of a machine image rather than the format of the Packer template.
Note: Punk is still in its infancy and lacks many features. However, should you discover a missing feature or bug, please create a new issue.
Getting started with Punk is easy, simply follow the instructions below:
$ yarn serve
Note: Even though this is a public repository, you still need to be authenticated to download this image. For more information, please refer to the official documentation.
$ docker pull docker.pkg.github.com/jasonwalsh/punk/punk:latest
$ docker run -d -p 8080:8080 docker.pkg.github.com/jasonwalsh/punk/punk
Punk started as a weekend project and is very limited in functionality. Currently, Punk only supports the amazon-ebs
builder with limited configuration options.
The options currently supported for the amazon-ebs
builder are:
access_key
ami_name
instance_type
region
secret_key
source_ami
While these options are limited, the result produces a valid Packer template.
As mentioned previously, Punk is still in its infancy and has the potential to grow. Below is a list of potential features that would make Punk a better product:
- Support for additional builders
- Support for provisioners
- Support for post-processors