Update the main README

This commit is contained in:
Anders Ingemann 2015-12-13 23:37:02 +01:00
parent 51144f7456
commit c130368603

View file

@ -4,17 +4,24 @@ bootstrap-vz
bootstrap-vz is a bootstrapping framework for Debian that creates ready-to-boot
images able to run on a number of cloud providers and virtual machines.
bootstrap-vz runs without any user intervention and
generates ready-to-boot images for `a number of virtualization
platforms <bootstrapvz/providers>`__.
generates ready-to-boot images for the following virtualization
platforms:
- `Amazon AWS EC2 <bootstrapvz/providers/ec2>`__
(supports both HVM and PVM; S3 and EBS backed;
`used for official Debian images <https://wiki.debian.org/Cloud/AmazonEC2Image/Jessie>`__;
`Quick start <#amazon-ec2-ebs-backed-ami>`__)
- `Google Compute Engine <bootstrapvz/providers/gce>`__
(`used by Google for official Debian images <https://wiki.debian.org/Cloud/GoogleComputeEngineImage>`__)
- `Oracle VirtualBox <bootstrapvz/providers/virtualbox>`__ (`with Vagrant support <#virtualbox-vagrant>`__)
- `Docker <bootstrapvz/providers/docker>`__ (`Quick start <#docker>`__)
- `Microsoft Azure <bootstrapvz/providers/azure>`__
- `KVM <bootstrapvz/providers/kvm>`__ (Kernel-based Virtual Machine)
Its aim is to provide a reproducable bootstrapping process using
`manifests <manifests>`__
as well as supporting a high degree of customizability through plugins.
bootstrap-vz was coded from scratch in python once the bash script
architecture that was used in the
`build-debian-cloud <https://github.com/andsens/build-debian-cloud>`__
bootstrapper reached its limits.
Documentation
-------------
@ -30,8 +37,7 @@ a rather peculiar and nifty way.
Installation
------------
bootstrap-vz has a master branch for stable releases and a development
for, well, development.
bootstrap-vz has a master branch into which stable feature branches are merged.
After checking out the branch of your choice you can install the
python dependencies by running ``python setup.py install``. However,
@ -63,6 +69,23 @@ where volumes are detached/deleted and temporary files removed, pressing
``Ctrl+C`` a second time shortcuts that procedure, halts the cleanup and
quits the process.
Docker
~~~~~~
.. code:: sh
user@host:~$ sudo -i # become root
root@host:~# git clone https://github.com/andsens/bootstrap-vz.git # Clone the repo
root@host:~# apt-get install debootstrap python-pip # Install dependencies from aptitude
root@host:~# pip install termcolor jsonschema fysom docopt pyyaml pyrfc3339 # Install python dependencies
root@host:~# bootstrap-vz/bootstrap-vz bootstrap-vz/manifests/docker/jessie-minimized.yml
The resulting image should be no larger than 82 MB (81.95 MB to be exact).
The manifest ``jessie-minimized.yml`` uses the
`minimize\_size <bootstrapvz/plugins/minimize_size>`__ plugin to reduce the image
size considerably.
VirtualBox Vagrant
~~~~~~~~~~~~~~~~~~
@ -72,7 +95,7 @@ VirtualBox Vagrant
root@host:~# git clone https://github.com/andsens/bootstrap-vz.git # Clone the repo
root@host:~# apt-get install qemu-utils debootstrap python-pip # Install dependencies from aptitude
root@host:~# pip install termcolor jsonschema fysom docopt pyyaml # Install python dependencies
root@host:~# bootstrap-vz/bootstrap-vz bootstrap-vz/manifests/virtualbox-vagrant.manifest.yml
root@host:~# bootstrap-vz/bootstrap-vz bootstrap-vz/manifests/examples/jessie-vagrant.yml
If you want to use the `minimize\_size <bootstrapvz/plugins/minimize_size>`__ plugin,
you will have to install the ``zerofree`` package and `VMWare Workstation`__ as well.
@ -88,12 +111,11 @@ Amazon EC2 EBS backed AMI
root@host:~# git clone https://github.com/andsens/bootstrap-vz.git # Clone the repo
root@host:~# apt-get install debootstrap python-pip # Install dependencies from aptitude
root@host:~# pip install termcolor jsonschema fysom docopt pyyaml boto # Install python dependencies
root@host:~# bootstrap-vz/bootstrap-vz bootstrap-vz/manifests/ec2-ebs-debian-official-amd64-pvm.manifest.yml
root@host:~# bootstrap-vz/bootstrap-vz bootstrap-vz/manifests/official/ec2/ebs-jessie-amd64-hvm.yml
To bootstrap S3 backed AMIs, bootstrap-vz will also need the
``euca2ools`` package. However, version 3.2.0 is required meaning you
must however install it directly from the eucalyptus repository like
this:
must install it directly from the eucalyptus repository like this:
.. code:: sh
@ -151,3 +173,12 @@ Contributing
Contribution guidelines are described in the documentation under `Contributing <CONTRIBUTING.rst>`__.
There's also a topic regarding `the coding style <CONTRIBUTING.rst#coding-style>`__.
Before bootstrap-vz
-------------------
bootstrap-vz was coded from scratch in python once the bash script
architecture that was used in the
`build-debian-cloud <https://github.com/andsens/build-debian-cloud>`__
bootstrapper reached its limits. The project has since grown well beyond
its original goal, but has kept the focus on Debian images.