Contents
Introduction
This is a Work in Progress attempt to build official Debian base boxes for Vagrant that shall be available in Atlas, the vagrant cloud backend, and produced officially with the debian-cd team.
This blog post from Joey Hess provides a good overview of why we need official Debian base boxes.
Current Status
Content
Standard Debian system, as created by the Debian Installer (all packages with priority required, important, standard), with the following Vagrant specific enhancements:
vagrant unix user, setup according to Upstream recommendations
- Speed improvements, such as tweak sshd to prevent DNS resolution (speed up logins) and remove 5s grub timeout to speed up booting
Virtual Box Guest additions, build with ?DKMS using the virtualbox-guest-additions-iso package
- Disk size improvement, such as removing kernel-headers and build-essential after the DKMS step, filling swap with nulls before packaging
Provisioners
The box does not include provisioners. You can install them at startup by adding in the Vagrant.configure block in your Vagrantfile
# puppet config.vm.provision "shell", inline: "apt-get install --yes puppet" # ansible does not need a client, but needs python-apt to install packages config.vm.provision "shell", inline: "apt-get install --yes python-apt"
Build process
The boxes are currently with Packer from the following git repository http://anonscm.debian.org/cgit/cloud/debian-vm-templates.git/ and uploaded to Hashicorps's Atlas.
See ?Teams/Cloud/RebuildVagrantBaseBoxes to build the boxes yourself or extend them.
Versioning schema
We use the following versioning scheme: DEBIAN VERSION NUMBER + BOX VERSION Ex: 8.0.4 means we use the box uses the Debian release 8.0, the .4 means it is the fourth version based on this release that we uploaded to Atlas
DFSG
The build process requires the non-free virtualbox-guest-additions-iso package, but Templates, Builder, and installed packages are DFSG compliant.
Security
When using vagrant init debian/jessie64, boxes are downloaded via HTTPS, and then checksummed from a md5sum stored in Atlas.
For end to end verification, vagrant has also built-in checksumming support, so it is be possible to do something like:
gpg --verify SHA256SUMS.gpg gpg: Signature made Fri 11 Sep 2015 12:19:50 AM CEST using RSA key ID 91E95791 gpg: Good signature from "Emmanuel "Kasper" Kasprzyk <emmanuel@libera.cc>"
vagrant box add --checksum $(grep debian-jessie.box SHA256SUMS | awk '{print $1}') --checksum-type sha256 debian/jessie64 https://atlas.hashicorp.com/debian/boxes/jessie64/versions/8.2.0/providers/virtualbox.box Downloading box from URL: https://atlas.hashicorp.com/debian/boxes/jessie64/versions/8.2.0/providers/virtualbox.box
Debian account on Atlas
Currently owned by EmmanuelKasper and AntonioTerceiro, upload rights have been granted to ?JanNiggerman
Todo list
We use this trello board: https://trello.com/b/lVRI6QJt/offical-debian-vagrant-base-boxes
People Involved
JanNiggemann, EmmanuelKasper, Antonio Terceiro