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 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. images able to run on a number of cloud providers and virtual machines.
bootstrap-vz runs without any user intervention and bootstrap-vz runs without any user intervention and
generates ready-to-boot images for `a number of virtualization generates ready-to-boot images for the following virtualization
platforms <bootstrapvz/providers>`__. 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 Its aim is to provide a reproducable bootstrapping process using
`manifests <manifests>`__ `manifests <manifests>`__
as well as supporting a high degree of customizability through plugins. 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 Documentation
------------- -------------
@ -30,8 +37,7 @@ a rather peculiar and nifty way.
Installation Installation
------------ ------------
bootstrap-vz has a master branch for stable releases and a development bootstrap-vz has a master branch into which stable feature branches are merged.
for, well, development.
After checking out the branch of your choice you can install the After checking out the branch of your choice you can install the
python dependencies by running ``python setup.py install``. However, 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 ``Ctrl+C`` a second time shortcuts that procedure, halts the cleanup and
quits the process. 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 VirtualBox Vagrant
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
@ -72,7 +95,7 @@ VirtualBox Vagrant
root@host:~# git clone https://github.com/andsens/bootstrap-vz.git # Clone the repo 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:~# 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:~# 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, 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. 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:~# 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:~# 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:~# 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 To bootstrap S3 backed AMIs, bootstrap-vz will also need the
``euca2ools`` package. However, version 3.2.0 is required meaning you ``euca2ools`` package. However, version 3.2.0 is required meaning you
must however install it directly from the eucalyptus repository like must install it directly from the eucalyptus repository like this:
this:
.. code:: sh .. code:: sh
@ -151,3 +173,12 @@ Contributing
Contribution guidelines are described in the documentation under `Contributing <CONTRIBUTING.rst>`__. Contribution guidelines are described in the documentation under `Contributing <CONTRIBUTING.rst>`__.
There's also a topic regarding `the coding style <CONTRIBUTING.rst#coding-style>`__. 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.