SYNOPSIS
bootstrap-vz [options] MANIFESTDESCRIPTION
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 yaml file providing final image specification, standard yaml 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 yaml 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|hvm|virtio|ide] type of vitalization which is going to be used to run final
image
enhanced_networking -
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)
workspace -
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: name: ec2 virtualization: hvm enhanced_networking: simple credentials: access-key: AFAKEACCESSKEYFORAWS secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva bootstrapper: workspace: /target image: name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs description: Debian {system.release} {system.architecture} system: release: wheezy architecture: amd64 bootloader: extlinux charmap: UTF-8 locale: en_US timezone: UTC volume: backing: ebs partitions: type: none root: filesystem: ext4 size: 8GiB packages: mirror: http://httpredir.debian.org/debian plugins: cloud_init: metadata_sources: Ec2 username: admin
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/