On Tue, Jun 02, 2015 at 08:31:13AM +1000, Chris Fordham wrote: > On 02/06/2015 7:12 AM, "Emmanuel Kasper" <emman...@libera.cc> wrote: > > > > > The other point is that including (either) provisioner takes us further > > > from the standard Debian image. > > > > BTW, Was is actually a standard Debian image ? > > To the best of my knowledge, I would define it as all the packages with > > Priority: required and important. > > According to the Debian Jessie installation guide [1], the *standard* > > task is also recommended. > > > > In server/containers environments it makes sense to restrict the list > > of packages installed. > > However the main aim of the Vagrant Virtualbox base boxes,are shareable > > development environments. > > In this kind of setup, I would expect the usual comfort of the debian > > experience, having for instance a mail server to send stuff, > > bash-completion or patch installed, all packages with come with the > > standard priority.
In my experience, having a minimal image helps you with figuring out what are the actual dependencies of your application and making sure it will work on whatever environment it is deployed to. > > So I am in favor of installing this task, which will bring aptitude as a > > side effect. > > > > Concerning the inclusion/removal of providers via specific boxes, why not. > > > > [1] https://www.debian.org/releases/jessie/i386/apbs04.html.en > > Section: Package selection > Base boxes should be both provisionerless as well as stock as possible. > > Vagrant plugins should be used to look after installing provisioners such > as your an ansible, puppet etc. > > Chef is already doing this where the bento boxes are provisionerless and > the vagrant-omnibus plugin installs the version of Chef to your liking. I agree, but I also agree that any provisioning should work out of the box with the base box you provide. That said, it is possible to automate the installation of all provisioners mentioned in /vagrant/Vagrantfile when you bring the box up. For example I have the following i my ~/.vagrant.d/Vagrantfile (which is applied by Vagrant to every box I bring up): ----------------8<----------------8<----------------8<----------------- Vagrant.configure(2) do |config| config.vm.provision :shell do |shell| shell.path = '/home/terceiro/bin/vm-bootstrap' shell.keep_color = true end end # vim: ft=ruby ----------------8<----------------8<----------------8<----------------- that vm-bootstrap script sets up the box to use my local APT cache, and installs vim, bash-completion and other goodies. Last time I checked, every .box can also include a Vagrantfile which will also be applied when it is brought up, before the application-specific Vagrantfile. That could easily parse /vagrant/Vagrantfile, figure out the provisioners used, and install them with apt-get on the fly. It could also install aptitude if that is needed for ansible (however requiring aptitude when apt is already there is indeed odd IMO). So I think we could have a base image that is both minimal and works out of the box with whatever provisioner (provided it is available in the archive, I guess). -- Antonio Terceiro <terce...@debian.org>
signature.asc
Description: Digital signature