hashicorp/packer


Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.

http://www.packer.io

License: MPL-2.0

Language: Go


Packer

Build Status Windows Build Status

Packer is a tool for building identical machine images for multiple platforms from a single source configuration.

Packer is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel. Packer comes out of the box with support for the following platforms:

  • Amazon EC2 (AMI). Both EBS-backed and instance-store AMIs
  • Azure
  • DigitalOcean
  • Docker
  • Google Compute Engine
  • OpenStack
  • Parallels
  • QEMU. Both KVM and Xen images.
  • VirtualBox
  • VMware

Support for other platforms can be added via plugins.

The images that Packer creates can easily be turned into Vagrant boxes.

Quick Start

Note: There is a great introduction and getting started guide for those with a bit more patience. Otherwise, the quick start below will get you up and running quickly, at the sacrifice of not explaining some key points.

First, download a pre-built Packer binary for your operating system or compile Packer yourself.

After Packer is installed, create your first template, which tells Packer what platforms to build images for and how you want to build them. In our case, we'll create a simple AMI that has Redis pre-installed. Save this file as quick-start.json. Export your AWS credentials as the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.

{
  "variables": {
    "access_key": "{{env `AWS_ACCESS_KEY_ID`}}",
    "secret_key": "{{env `AWS_SECRET_ACCESS_KEY`}}"
  },
  "builders": [{
    "type": "amazon-ebs",
    "access_key": "{{user `access_key`}}",
    "secret_key": "{{user `secret_key`}}",
    "region": "us-east-1",
    "source_ami": "ami-de0d9eb7",
    "instance_type": "t1.micro",
    "ssh_username": "ubuntu",
    "ami_name": "packer-example {{timestamp}}"
  }]
}

Next, tell Packer to build the image:

$ packer build quick-start.json
...

Packer will build an AMI according to the "quick-start" template. The AMI will be available in your AWS account. To delete the AMI, you must manually delete it using the AWS console. Packer builds your images, it does not manage their lifecycle. Where they go, how they're run, etc. is up to you.

Documentation

Comprehensive documentation is viewable on the Packer website:

http://www.packer.io/docs

Developing Packer

See CONTRIBUTING.md for best practices and instructions on setting up your development environment to work on Packer.

Project Statistics

Sourcerank 13
Repository Size 52.7 MB
Stars 9,553
Forks 2,611
Watchers 414
Open issues 413
Dependencies 49
Contributors 501
Tags 63
Created
Last updated
Last pushed

Top Contributors See all

Mitchell Hashimoto Chris Bednarski Rickard von Essen Matthew Hooker Ross Smith II Seth Vargo Mark Peek Clint Christopher Boumenot Vasiliy Tolstov ceh Mikhail Zholobov Tyler Tidman Jason A. Beranek Billie Cleek Jasmin Gacic jmassara Eric Johnson Steven Merrill Matthew McKeen

Packages Referencing this Repo

github.com/mitchellh/packer/builder/parallels/iso
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/virtualbox/common
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/common/command
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/provisioner/ansible-local
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/common/ssh
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/parallels/pvm
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/digitalocean
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/virtualbox/iso
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/provisioner/shell
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/googlecompute
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/amazon/ebs
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/provisioner/salt-masterless
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/amazon/instance
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/provisioner/puppet-server
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/provisioner/chef-client
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/provisioner/puppet-masterless
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/amazon/chroot
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/post-processor/vagrant
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/post-processor/docker-import
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars
github.com/mitchellh/packer/builder/docker
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Latest release v1.2.1 - Published - 9.55K stars

Recent Tags See all

v1.2.1 February 23, 2018
v1.2.0 February 09, 2018
v1.1.3 December 08, 2017
v1.1.2 November 15, 2017
v1.1.1 October 14, 2017
v1.1.0 September 12, 2017
v1.0.4 August 11, 2017
v1.0.3 July 17, 2017
v1.0.2 June 22, 2017
v1.0.1 June 19, 2017
v1.0.0 April 04, 2017
v1.0.0-rc3 March 31, 2017
v1.0.0-rc2 March 30, 2017
v1.0.0-rc1 March 16, 2017
v0.12.3 March 02, 2017

Interesting Forks See all

mindjiver/packer
Please see https://github.com/schubergphilis/packer-cloudstack
Go - MPL-2.0 - Last pushed - 6 stars - 3 forks
Lumida/packer
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Go - MPL-2.0 - Updated - 5 stars - 1 forks
sneal/packer
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Go - MPL-2.0 - Last pushed - 2 stars - 5 forks
threatstream/packer
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Go - MPL-2.0 - Last pushed - 2 stars
higebu/packer
Packer is a tool for creating identical machine images for multiple platforms from a single sourc...
Go - MPL-2.0 - Last pushed - 2 stars - 2 forks

Something wrong with this page? Make a suggestion

Last synced: 2016-11-24 15:51:41 UTC

Login to resync this repository