This script bootstraps a vanilla Debian installation to create either
an Amazon machine image or a Google Compute Engine image.
The image contains no latent logfiles no .bash_history or even the apt package cache.
The machine configuration this script creates has been thoroughly tested.
This script has been tested on Debian squeeze and wheezy. To create an AMI this bootstrapper needs to be run on an Amazon EC2 instance.
The Debian community and Amazon have together created AMIs using this bootstrapper and replicated them across AWS regions. The images have been tested for security and bugs. They are available on the aws marketplace.
For each new official AMI a commit in this repository will be tagged, marking the version the AMI was bootstrapped with.
More information about these images and links to the gzipped volume images can be found on the Debian wiki page dedicated to those images.
The script is started with ./build-debian-cloud
.
You can choose to either bootstrap a Debian AMI (./build-debian-cloud ec2
)
or a Google Compute Engine image (./build-debian-cloud gce
).
Both modes have sensible defaults and can be configured with options and plugins.
To see a list of options use --help
.
When creating an AMI the script at least needs to know your AWS credentials.
There are no interactive prompts, the bootstrapping can run entirely unattended from start till finish.
Some plugins are included in the plugins directory. A list of external plugins is also provided there. If none of those scratch your itch, you can of course write your own plugin.
ec2-get-credentials
: Copies the ec2 keypair to ~/.ssh/authorized_keys
ec2-run-user-data
: If the userdata starts with #!
it will be executedgenerate-ssh-hostkeys
: Generates hostkeys for sshd on first bootexpand-volume
: Expands the root partition to the volume size*The bootup time was measured with this script