vagrant-lxc-ng/example/Vagrantfile
2013-04-21 23:58:54 -03:00

40 lines
1.3 KiB
Ruby

# -*- mode: ruby -*-
# vi: set ft=ruby :
# Not really needed, but useful while developing so that vagrant picks it up
Vagrant.require_plugin 'vagrant-lxc'
Vagrant.configure("2") do |config|
config.vm.synced_folder "/tmp", "/vagrant_data"
config.vm.provider :lxc do |lxc|
lxc.customize 'cgroup.memory.limit_in_bytes', '400M'
lxc.customize 'cgroup.memory.memsw.limit_in_bytes', '500M'
end
config.vm.provision :shell, :inline => <<-SCRIPT
echo "Hi there I'm a shell script used for provisioning"
SCRIPT
config.vm.provision :puppet do |puppet|
puppet.module_path = "puppet/modules"
puppet.manifests_path = "puppet/manifests"
puppet.manifest_file = "site.pp"
end
config.vm.provision :chef_solo do |chef|
chef.add_recipe "hello-world"
chef.log_level = :debug
end
%w(precise quantal raring).each do |release|
config.vm.define(release) do |lxc_config|
lxc_config.vm.box = "#{release}64"
lxc_config.vm.box_url = "http://dl.dropbox.com/u/13510779/lxc-#{release}-amd64-2013-04-21.box"
# Uncomment if you want to try out a box built locally
# lxc_config.vm.box_url = "../boxes/output/lxc-#{release}64.box"
lxc_config.vm.hostname = "lxc-#{release}64-example"
lxc_config.vm.network :forwarded_port, guest: 80, host: 8081
end
end
end