Differences between revisions 45 and 46
Revision 45 as of 2015-09-23 16:35:34
Size: 3125
Comment:
Revision 46 as of 2015-09-23 16:39:56
Size: 3124
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
 * Disk size improvement, such as removing kernel-headers and build-essential after the DKMS step, filling swap with nulls before packaging  * Disk size improvement: removing kernel-headers and build-essential after the DKMS step, call zerofree to reduce the disk image size
Line 43: Line 43:
The build process requires the non-free virtualbox-guest-additions-iso package, but Templates, Builder, and installed packages are DFSG compliant. The build process requires the non-free virtualbox-guest-additions-iso package, the rest of the build chain and installed packages are DFSG compliant.

Introduction

This is a Work in Progress to build official Debian base boxes for Vagrant available in Atlas, the vagrant cloud backend.

Base Box details

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: removing kernel-headers and build-essential after the DKMS step, call zerofree to reduce the disk image size

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, the rest of the build chain and installed packages are DFSG compliant.

Security

For end to end verification, vagrant has 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

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