Bootstrap Debian images for virtualized environments
Find a file
Olivier Sallou 1fe0d56bc3 updates
2013-07-26 08:50:53 +02:00
base add mirror attribute 2013-07-10 15:43:39 +02:00
common allow to PIPE some input to command 2013-07-10 16:33:35 +02:00
logs logging 2013-07-08 23:13:58 +02:00
manifests updates 2013-07-26 08:50:53 +02:00
plugins Prebootstrapped plugin now autocreates a snapshot 2013-07-09 20:45:57 +02:00
providers updates 2013-07-26 08:50:53 +02: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
build-debian-cloud Rename common module to base 2013-07-08 23:13:57 +02:00
README.md Create README.md 2013-07-08 23:14:09 +02:00

build-debian-cloud python version (preview)

This is a preview of the build-debian-cloud python version.
It currently only supports EBS booted volumes and none of the plugins have been ported.

Suggestions

The reason I release this preview is to get as many suggestions as possible. If you have an idea for how to improve upon the architecture or simply spotted a bug, please feel free to file a bug report. Pull requests are also welcome!

Dependencies

You will need to run debian wheezy with python 2.7 and debootstrap installed. Also the following python libraries are required:

  • boto
  • jsomschema
  • termcolor

Highlights

  • The desired image is configured entirely via a JSON manifest file
    • Manifests are validated by a json schemas
    • Support comments
  • Proper support for different providers
  • The task based system has been completely revamped
    • Higher granularity increases reusability of tasks across providers
    • Tasks are neatly organized into modules
    • A task dependency graph is built to determine the execution order
  • Support for rollback actions if something fails
  • Logfiles
    • All output from invoked subprocesses is logged

Disclaimer

This is only a preview of the bootstrapper, so you can expect bugs and major architectural changes. Do not expect that the final version will look anything like this.