Differences between revisions 74 and 75
Revision 74 as of 2021-02-27 21:36:10
Size: 4296
Comment: Remove the link to the Trello Board, as it is a rather private todolist
Revision 75 as of 2021-03-11 19:34:23
Size: 1684
Comment: Update for fai-diskimage as build tool, and vboxsf for bullseyes
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
This 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]]

 *
[[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.
This 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]]. [[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 14: Line 12:
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 [[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.
Standard Debian system, as created by debootstrap with all packages with priority required, important, standard, with vagrant unix user, set up according to [[http://docs.vagrantup.com/v2/boxes/base.html|Upstream recommendations]]
Line 29: Line 17:
You can install them at startup by adding in the {{{Vagrant.configure}}} block in your Vagrantfile You can install them at startup by adding in your Vagrantfile:
Line 39: Line 27:
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.
 * For VirtualBox, before Debian 11 "Bullseyes" the default was to use `rsync` for shared folder, and `vboxsf` for the -contrib boxes. Starting from Debian 11 Bullseyes, the boxes uses vboxsf.
 * For Libvirt, the default is to use NFS for folder sharing.
Line 49: Line 32:
The boxes are currently built with Packer from the following git repository
https://salsa.debian.org/cloud-team/vagrant-boxes
The boxes are currently built with `fai-diskimage` from the following git repository
https://salsa.debian.org/cloud-team/debian-vagrant-images
Line 53: Line 36:
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

=== Roadmap ===
See https://lists.debian.org/debian-cloud/2019/09/msg00041.html for Bullseyes.


=== People Involved ===
EmmanuelKasper, Antonio Terceiro, Lucas Nussbaum
See [[Teams/Cloud/RebuildVagrantBaseBoxes]] to rebuild the boxes yourself or extend them.

Introduction

This is a Work in Progress to build official Debian base boxes for Vagrant available in Vagrant Cloud. This blog post from Joey Hess provides a good overview of why we need official Debian base boxes.

Report bugs

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

Base Box details

Content

Standard Debian system, as created by debootstrap with all packages with priority required, important, standard, with vagrant unix user, set up according to Upstream recommendations

Provisioners

The box does not include provisioners. You can install them at startup by adding 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

  • For VirtualBox, before Debian 11 "Bullseyes" the default was to use rsync for shared folder, and vboxsf for the -contrib boxes. Starting from Debian 11 Bullseyes, the boxes uses vboxsf.

  • For Libvirt, the default is to use NFS for folder sharing.

Build process

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

See ?Teams/Cloud/RebuildVagrantBaseBoxes to rebuild the boxes yourself or extend them.