Differences between revisions 1 and 71 (spanning 70 versions)
Revision 1 as of 2015-04-24 20:26:43
Size: 959
Editor: JanNiggemann
Comment: initial revision
Revision 71 as of 2018-06-24 12:23:53
Size: 4307
Comment: Mention that boxes checksum are committed in salsa
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Who = <<TableOfContents()>>
Line 3: Line 3:
Both EmmanuelKasper and JanNiggemann want to build official Debian base boxes for [[Vagrant]] that shall be available through https://atlas.hashicorp.com/debian === Introduction ===
T
his is a Work in Progress to build [[Teams/DPL/OfficialImages|official Debian]] base boxes for [[Vagrant]] available in [[https://app.vagrantup.com/debian|Vagrant Cloud]]
Line 5: Line 6:
= How =  * [[http://joeyh.name/blog/entry/docker_run_debian/|This blog post from Joey Hess]] provides a good overview of why we need official Debian base boxes.
Line 7: Line 8:
This is all in a very early stage, we'll document the progress here. === Report bugs ===
see https://app.vagrantup.com/debian/
Line 9: Line 11:
As this is no longer a one man show, the first and most important thing would probably be
 * figure out how to work together
=== 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
Line 12: Line 16:
My (JanNiggemann) initial planning was roughly the following:
 * get to know bootstrap-vz (<- done)
 * create a sustainable environment for bootstrapping (<- done)
 * create a "alpha" box to gather feedback (<- done)
 * re-iterate the above to get more feedback
 * agree on how
 * create useful documentation
 * figure out how to automate upload of boxes to my own account on atlas
 * request delegation from DPL
 * do whatever is necessary to setup and maintain an official debian account on atlas
 * monitor debian-announce and build new boxes when necessary
 * vagrant unix user, setup according to [[http://docs.vagrantup.com/v2/boxes/base.html|Upstream recommendations]]
 * Speed improvements
  * disable DNS resolution in sshd (speed up logins)
  * use a 0s grub timeout to speed up booting
 * Disk size improvements:
  * fill the unused blocks of the file systems with zeroes to reduce disksize

Note that we don't install the Virtualbox guest additions as it would mean pulling package outside the main debian archive.
Contrary to what the scary vagrant up message says, Vagrant and Virtualbox don't need the Virtualbox guest additions for shared folders and port forwarding.

==== 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"
}}}

==== Shared folders ====

These boxes use [[https://docs.vagrantup.com/v2/synced-folders/rsync.html|vagrant rsync]] to share the current directory to the `/vagrant` directory inside the box.
Syncing happens once when you fire {{{vagrant up}}}, if you want this to happen continuously in the background, start {{{vagrant rsync-auto}}} afterwards.

On Windows, we recommend to start Vagrant from a Cygwin or Msys environment, in which you have installed ssh and rsync.

Alternatively on all platforms, you can use the vagrant-vbguest plugin to
build the Virtualbox guest extensions.

==== Build process ====

The boxes are currently built with Packer from the following git repository
https://salsa.debian.org/cloud-team/vagrant-boxes
and uploaded to Hashicorps's Vagrant cloud.

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 Vagrant Cloud

==== DFSG ====
The build process requires the contrib virtualbox package.
The reason virtualbox is in contrib is the non DFSG compiler required for compiling the BIOS.

==== Checksums verification ====

For VirtualBox, Checksums of the latest boxes are available inside the git repository at https://salsa.debian.org/cloud-team/vagrant-boxes/tree/master/packer-virtualbox-vagrant.

{{{#!wiki comment

|| Provider || Checksums File || Signature File || Signed by ||
|| virtualbox || virtualbox-*.SHA256SUM || virtualbox-*.SHA256SUM.gpg || Emmanuel "Kasper" Kasprzyk < manu - debian - org > ||

}}}

After downloading the checksums, you can verify the box authenticity by running vagrant with the `--checksum` option:

{{{
 wget
https://vagrantcloud.com/debian/boxes/stretch64/versions/9.2.0/providers/virtualbox.box
}}}

{{{
 vagrant box add --name debian/stretch64 --provider virtualbox
--checksum
3625435cbc6ace0a033f64e9495de65286d92d6560dfefe9239a3f9ab02f98a1
--checksum-type sha256 virtualbox.box
}}}

Direct checksumming from app.vagrantup.com does not work, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878759


==== Debian account on app.vagrantup.com ====
Currently owned by EmmanuelKasper and AntonioTerceiro

=== Todo list ===
We use this trello board: https://trello.com/b/lVRI6QJt/offical-debian-vagrant-base-boxes

=== People Involved ===
EmmanuelKasper, Antonio Terceiro, Lucas Nussbaum

Introduction

This is a Work in Progress to build official Debian base boxes for Vagrant available in Vagrant Cloud

Report bugs

see https://app.vagrantup.com/debian/

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
    • disable DNS resolution in sshd (speed up logins)
    • use a 0s grub timeout to speed up booting
  • Disk size improvements:
    • fill the unused blocks of the file systems with zeroes to reduce disksize

Note that we don't install the Virtualbox guest additions as it would mean pulling package outside the main debian archive. Contrary to what the scary vagrant up message says, Vagrant and Virtualbox don't need the Virtualbox guest additions for shared folders and port forwarding.

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"

Shared folders

These boxes use vagrant rsync to share the current directory to the /vagrant directory inside the box. Syncing happens once when you fire vagrant up, if you want this to happen continuously in the background, start vagrant rsync-auto afterwards.

On Windows, we recommend to start Vagrant from a Cygwin or Msys environment, in which you have installed ssh and rsync.

Alternatively on all platforms, you can use the vagrant-vbguest plugin to build the Virtualbox guest extensions.

Build process

The boxes are currently built with Packer from the following git repository https://salsa.debian.org/cloud-team/vagrant-boxes and uploaded to Hashicorps's Vagrant cloud.

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 Vagrant Cloud

DFSG

The build process requires the contrib virtualbox package. The reason virtualbox is in contrib is the non DFSG compiler required for compiling the BIOS.

Checksums verification

For VirtualBox, Checksums of the latest boxes are available inside the git repository at https://salsa.debian.org/cloud-team/vagrant-boxes/tree/master/packer-virtualbox-vagrant.

After downloading the checksums, you can verify the box authenticity by running vagrant with the --checksum option:

 wget 
https://vagrantcloud.com/debian/boxes/stretch64/versions/9.2.0/providers/virtualbox.box

 vagrant box add --name debian/stretch64  --provider virtualbox 
--checksum 
3625435cbc6ace0a033f64e9495de65286d92d6560dfefe9239a3f9ab02f98a1 
--checksum-type sha256 virtualbox.box

Direct checksumming from app.vagrantup.com does not work, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878759

Debian account on app.vagrantup.com

Currently owned by EmmanuelKasper and AntonioTerceiro

Todo list

We use this trello board: https://trello.com/b/lVRI6QJt/offical-debian-vagrant-base-boxes

People Involved

EmmanuelKasper, Antonio Terceiro, Lucas Nussbaum