959
Comment: initial revision
|
4307
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 === 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]] |
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 |
Contents
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 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