1 [[!meta title="Replacing Vagrant?"]]
5 **Main ticket**: [[!tails_ticket 7526]]
7 Goals of our Vagrant thing
8 ==========================
10 1. Make it easy to new contributors to build a Tails ISO.
11 2. Improve consistency between our various ways of building Tails ISOs
12 (Tails developers currently use at least 3 different build setups,
13 and our auto-builder yet another one).
14 3. Ideally, our "easy build" instructions should work at least on:
15 - Debian stable + backports
18 - latest Ubuntu non-LTS
23 * A Vagrant setup that works on a Wheezy host, and presumably on a sid
24 one too. No idea about Ubuntu 14.04 LTS and upcoming 14.10, let
25 alone other distros or non-Linux OS.
27 * Our Vagrant setup does not work for building on-disk (as opposed as
28 building in RAM) ([[!tails_ticket 7133]]), and our basebox is still
29 based on Squeeze ([[!tails_ticket 7218]]).
30 Both are being addressed.
32 * What our Vagrant thing does:
33 - downloads and checks a build basebox as needed
34 - creates and configures a build VM as needed
35 - fires up a build VM as needed
36 - makes the Git tree available in the build VM (with VirtualBox
38 - run the build scripts inside the build VM, taking into account
39 various options (passed as environment variables) to accomodate
41 - retrieve the build artifacts from the build VM onto the host system
43 * Vagrant hasn't been actively maintained in Debian for a while.
44 It was removed from testing, and won't be in Jessie unless someoneā¢
45 does somethingā¢ about it. It was just orphaned. It's unclear if
46 someone is going to adopt it.
48 * VirtualBox vs. QEMU/KVM:
49 - One can't run both VirtualBox and QEMU/KVM on the same system.
50 - Vagrant use VirtualBox by default.
51 - Some of us use VirtualBox, some of us use QEMU/KVM.
52 - Our infrastructure (e.g. auto-builder) uses QEMU/KVM.
53 - It seems easier to convert VirtualBox users among us to QEMU/KVM,
54 than the contrary, thanks to the larger feature set (e.g.
55 USB removable devices emulation). GNOME Boxes may make it less
57 - There's a vagrant-libvirt plugin available, not in Debian yet, see
58 the corresponding blueprint for packaging and backporting
59 challenges. That's irrelevant, though, if the vagrant package
60 itself is not maintained in Debian.
61 - There's a libvirt driver for VirtualBox too.
63 * Vagrant's upstream provides a .deb, but no proper source package
64 (they're using FPM). There's no strong cryptographic way to
65 authenticate this package after downloading it. We don't want to
66 rely on that package, nor to advertise it, for security reasons, and
67 also due to our policy to do things with/in Debian.
69 * Docker is seeing a lot of traction lately. It might be a better bet
70 than Vagrant on the long-term.
75 * Short-term: fix the Vagrant situation for the most important
76 usecases ([[!tails_ticket 7526]])
77 * Mid-term: fix the situation for real, starting with evaluating
78 Docker ([[!tails_ticket 7527]], [[blueprint/evaluate_Docker]])