Bootstrap Debian images for virtualized environments
Find a file
Anders Ingemann 9d3ab025ea Merge pull request #2 from JamesBromberger/master
Remove deprecated hd00 pvgrub AKIs (hd0 pvgrubs AKIs check hd0 and hd0,0...
2014-02-16 16:04:26 +01:00
base Permit Jessie as a release name. 2014-02-06 15:02:13 +00:00
common Permit referring to Jessie as 'jessie', not just as 'testing' (as when Jessie goes stable in a year, we dont want to be then updating this build script). 2014-02-08 16:28:52 +00:00
logs logging 2013-07-08 23:13:58 +02:00
manifests Add S3 backed AMI manifest for China (Beijing). 2014-02-08 18:46:23 +00:00
plugins Minimize size plugin can now shrink vmdk images 2014-02-03 17:25:50 +01:00
providers Permit referring to Jessie as 'jessie', not just as 'testing' (as when Jessie goes stable in a year, we dont want to be then updating this build script). 2014-02-08 16:28:52 +00:00
.gitignore Ignore vagrant files 2013-07-08 23:13:58 +02:00
__init__.py Basic structure up and running 2013-07-08 23:13:56 +02:00
bootstrap-vz Rename to bootstrap-vz for release. 2014-02-03 17:37:36 +01:00
CONTRIBUTING.md PEP8-ify things. 2013-08-17 17:28:46 +02:00
README.md Rename to bootstrap-vz for release. 2014-02-03 17:37:36 +01:00

bootstrap-vz

bootstrap-vz is a fully automated bootstrapping tool for Debian. It creates images for various virtualized platforms (at the moment: kvm, virtualbox, ec2). The plugin architecture allows for heavy modification of standard behavior (e.g. create a vagrant box, apply puppet manifests, run custom shell commands).

At no time is the resulting image booted, meaning there are no latent logfiles or bash_history files.

The bootstrapper runs on a single json manifest file which contains all configurable parameters. This allows you to recreate the image whenever you like so you can create an updated version of an existing image or create the same image in multiple EC2 regions.

Dependencies

You will need to run debian wheezy with python 2.7 and debootstrap installed. Other depencies include:

  • qemu-utils
  • parted
  • grub2
  • euca2ools
  • xfsprogs (If you want to use XFS as a filesystem) Also the following python libraries are required:
  • boto
  • jsonschema (version 2.0.0, only available through pip)
  • termcolor
  • fysom

Bootstrapping instance store AMIs requires euca2ools to be installed.