Scroll to navigation

BOOTSTRAP-VZ(1) General Commands Manual BOOTSTRAP-VZ(1)

NAME

bootstrap-vz - program is creating Debian images to be run in cloud environments like Amazons EC2, OpenStack, Google Cloud Compute and other which are sharing API with those

SYNOPSIS

bootstrap-vz [options] MANIFEST

DESCRIPTION

bootstrap-vz is written in python which can be fairly easily customised if needed. Whole configuration for the final image is provided by json manifest [MANIFEST]. Manifest available options are explained below in MANIFEST section, if there is information which is lacking please file a bug against bootstrap-vz package (patches always welcome).
bootstrap-vz must be run from within AWS instance to create Debian image.
Default user to log into created image is: root

[OPTIONS]

--log path
Log to given directory [default: /var/log/bootstrap-vz].
 
If <path> is " - " file logging will be disabled.
 
--pause-on-error
Pause on error, before rollback
 
--dry-run
Don't actually run the tasks
 
--debug
Print debugging information
 
-h, --help
show this help

[MANIFEST]

Manifest is a json file providing final image specification, standard json rules apply to it and the following fields should or may be used (depending on final image type).
 
Below are describe specific fields and fields within sections, all should be in strict json format put into manifest file.
provider - [kvm|ec2|gce|virtualbox|azure] targeted platform where final image produced by bootstrap-vz is going to be used
 
virtualization - [pvm|virtio|ide] ]type of vitalization which is going to be used to run final image
 
bootstrapper
mount_dir - where all bootstraped files are going to be installed
 
mirror - Debian mirror to use to fetch all required files (suggestion: http://http.debian.net/debian)
image
name - name for the finale image
 
description - final image description which will give a bit more information how this image is different from others bucket - [ONLY FOR S3 BACKED IMAGES] S3 bucket name for storage
system (OS details)
 
release - [wheezy|jessie] Debian release name
 
architecture - [amd64|i386]
 
timezone - ex. UTC
 
locale - ex. en_GB
 
charmap - ex. UTF-8
 
volume (virtual HDD setup)
 
backing - [ebs|s3|raw]
 
filesystem - any supported by the kernel
 
size - how big root main image should be
 
loopback_dir - [ONLY FOR KVM & VIRTAUALBOX PROVIDERS]
plugins (plugins available, for specific options for each plugin please look into individual plugin documentation)
admin_user
 
backports
 
build_metadata
 
convert_image
 
opennebula
 
prebootstrapped
 
root_password
 
user_packages
 
credentials (AWS specific entries)
access-key - AWS Access Key
 
secret-key AWS Secret Key
 
certificate - [S3 BACKED IMAGES]
 
private-key - [S3 BACKED IMAGES]
 
user-id - [S3 BACKED IMAGES]
 

MANIFEST - example

{
"provider": "ec2",
"virtualization": "pvm",
"credentials": {
"access-key" : null,
"secret-key" : null,
"certificate": null,
"private-key": null,
"user-id" : null
},

"bootstrapper": {
"mount_dir": "/target",
"mirror" : "http://http.debian.net/debian"
},
"image": {
"name" : "debian-{release}-{architecture}-{virtualization}-{%Y}{%m}{%d}",
"description": "Debian {release} {architecture} AMI ({virtualization})"
"bucket" : ""
},
"system": {
"release" : "wheezy",
"architecture": "amd64",
"timezone" : "UTC",
"locale" : "en_US",
"charmap" : "UTF-8"
},
"volume": {
"backing" : "s3",
"filesystem": "ext4",
"size" : 1024
},
"plugins": {
"admin_user": {
"enabled" : true,
"username": "admin"
},
"prebootstrapped": {
"enabled": false,
"image" : null
}
}
 
}
Example manifests can be found in /usr/share/doc/bootstrap-vz/examples/manifests more manifests specific information can be found in bootstrap-vz(3) or online docs at http://bootstrap-vz.readthedocs.org/en/master/

AUTHOR

Marcin Kulisz <debian@kulisz.net>

SEE ALSO

debootstrap(1), bootstrap-vz(3),
June 2, 2014