The last few weeks I have been hard at work on a slew of different new features and fixes for build-debian-cloud. There have been quite a few framework changes/improvements/simplifications, here's the gist of it:
Support installation of VirtualBox Guest Additions
Support for vmdk disk format
New plugin: vagrant (yay!) - Example manifest file also added
Integrated package plugin with base system:
- New phase introduced "package installation"
- Apt source lines are now parsed, this allows to verify the target release of added packages.
- All packages (except locales) are now installed *after* bootstrapping
Introduced a global manifest_vars dictionary. All manifest entries can now be accessed from the manifest itself.
So now you can write
...
image: {
"name":"debian-{system.release}-{system.architecture}-{virtualization}-{%Y}-{%m}-{%d}-{volume.backing}",
"description": "Log in with {plugins.cloud_init.username}"
}
Distinguish between bootstrap and apt mirror
- They can both be set independently now.
- If the bootstrap mirror is not set, it falls back to the apt mirror, which in turn falls back to the geo redirector.
- Use cloudfront mirror in ec2 manifests
Extlinux support. The bootloader is now specified in the manifest. Largely untested at this moment
New plugin: minimize_size. It binds folders from the host machine to temporary and cache folders in the image. This way dynamic volumes will not grow in size when running `apt-get update` etc.
Remove provider specific manifests - Provider modules now must implement validate_manifest like plugins do (in essence providers are just glorified plugins now :-) )