Differences between revisions 41 and 42
Revision 41 as of 2015-09-02 19:58:55
Size: 3132
Comment:
Revision 42 as of 2015-09-10 22:26:05
Size: 3443
Comment:
Deletions are marked like this. Additions are marked like this.
Line 48: Line 48:
For end to end verification, vagrant has also built-in checksumming support, so it might be possible to in the future something like: 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>"
}}}
Line 51: Line 55:
# verify checksum file authenticity
gpg --verify SHA256SUM.sig SHA256SUM
vagrant box add --checksum $(cut -d " " -f 1 SHA256SUM) --checksum-type sha256 --name "debian/jessie64" debian-jessie.box
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

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.

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