This is an old revision of the document!
Table of Contents
Vagrant
Vagrant is open-source software for creating and configuring virtual development environments. It can be considered a wrapper around VirtualBox and configuration management software such as Chef, Salt and Puppet. Although written in Ruby, it is usable in other programming projects such as PHP, Python, Java, and C#.
Quick workflow is such:
- install vagrant package:poldek -u vagrant
- add your user tovboxgroup
- register base box withvagrant box add
- createVagrantfilewithvagrant init BASEBOXNAME
- bring up VM defined inVagrantfilewithvagrant up
- log in to VM withvagrant ssh
The commands are run in dir where is Vagrantfile.
Base box you need to import only once, you can make new VM's without need to import base box again.
PLD Base boxes
glen is providing regularly built vagrant base boxes:
box add command is needed only once or if you want to refresh your base box.
32bit Th 3.10 kernel:
$ vagrant box add pld32 ftp://ftp.pld-linux.org/people/glen/vm/pld32.box $ vagrant init pld32 $ vagrant up $ vagrant ssh
64bit Th 3.10 kernel:
$ vagrant box add pld64 ftp://ftp.pld-linux.org/people/glen/vm/pld64.box $ vagrant init pld64 $ vagrant up $ vagrant ssh
Additionally there's Th-2013-snap box available:
the .box is actually importable by plain VirtualBox as well if you rename the file as .ova, on ftp there are symlinks for .ova files made for convenience.
What next?
After box is up, you probably want to provision it or install packages with poldek directly. 
Also quite common is to grow a disk
Chef
To install chef-solo do poldek -u chef, if you want to run chef server inside that box, have look at chef-server.
If you are using chef-client, it's recommended to install vagrant-butcher plugin to automatically delete node when destroying VM.
MATE Desktop
I ([people:glen]]) needed to give someone VM image containing desktop application, as a result there's PLD Linux with MATE Desktop Vagrantfile which you can use to create same image from scratch.
