Differences between revisions 36 and 37
Revision 36 as of 2015-06-21 22:24:37
Size: 3019
Comment:
Revision 37 as of 2015-06-21 22:26:44
Size: 3039
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
This is a Work in Progress attempt to build official Debian base boxes for [[Vagrant]] that shall be available in [[https://atlas.hashicorp.com/debian/|Atlas]], the vagrant cloud backend, and maybe via debian-cd. This is a Work in Progress attempt to build official Debian base boxes for [[Vagrant]] that shall be available in [[https://atlas.hashicorp.com/debian/|Atlas]], the vagrant cloud backend, and maybe someday along debian cd releases.
Line 6: Line 6:
 * [[http://joeyh.name/blog/entry/docker_run_debian/|Why do we need official base boxes]] as seen by the problem of images from the docker.io registry  * [[http://joeyh.name/blog/entry/docker_run_debian/|This blog post from Joey Hess]] provides a goo overview of why we need official Debian base boxes.

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 maybe someday along debian cd releases.

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 might be possible to in the future something like:

vagrant box add --checksum 00e88116f98368a25b73018dac9478f2 --checksum-type md5 http://cloud-images.debian.org/wheezy64 debian-780-wheezy.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