vagrant-lxc-ng/development/Vagrantfile
2013-03-31 13:29:50 -03:00

73 lines
2.4 KiB
Ruby

# -*- mode: ruby -*-
# vi: set ft=ruby :
def local_apt_cache(box_name)
cache_dir = File.join(File.expand_path(Vagrant::Environment::DEFAULT_HOME),
'cache',
'apt',
box_name)
partial_dir = File.join(cache_dir, 'partial')
FileUtils.mkdir_p(partial_dir) unless File.exists? partial_dir
cache_dir
end
def local_gem_cache(box_name)
cache_dir = File.join(File.expand_path(Vagrant::Environment::DEFAULT_HOME),
'cache',
'gems',
'source',
box_name)
FileUtils.mkdir_p(cache_dir) unless File.exists? cache_dir
cache_dir
end
# Required to make sure vagrant picks it up during development
Vagrant.require_plugin 'vagrant-lxc'
Vagrant.configure("2") do |config|
config.vm.box = "quantal64"
config.vm.synced_folder "../", "/vagrant", id: 'vagrant-root'
cache_dir = local_apt_cache(config.vm.box)
config.vm.synced_folder cache_dir, "/var/cache/apt/archives", id: "vagrant-apt-cache"
cache_dir = local_gem_cache(config.vm.box)
config.vm.synced_folder cache_dir, "/home/vagrant/gems/cache", id: "vagrant-gem-cache"
config.vm.define :vbox do |vb_config|
vb_config.vm.box_url = "https://github.com/downloads/roderik/VagrantQuantal64Box/quantal64.box"
vb_config.vm.hostname = 'vbox'
vb_config.vm.provider :virtualbox do |vb|
# Configure VM to use 1.5gb of ram and 2 cpus
vb.customize [
"modifyvm", :id,
"--memory", '1536',
"--cpus", '2'
]
end
end
config.vm.define :lxc do |lxc_config|
lxc_config.vm.hostname = 'lxc-dev-box'
lxc_config.vm.box_url = 'http://dl.dropbox.com/u/13510779/lxc-quantal64-2013-03-31.box'
# Uncomment to test boxes built locally:
# lxc_config.vm.box_url = '../boxes/output/lxc-quantal64.box'
lxc_config.vm.provider :lxc do |lxc|
# Required to boot nested containers
lxc.start_opts << 'lxc.aa_profile=unconfined'
# Change this to override the path where the rootfs gets stored
# lxc.target_rootfs_path = '/path/to/vagrant-lxc-dev-box-rootfs'
end
end
config.vm.provision :shell, :path => 'shell-provisioning/upgrade-kernel'
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "."
puppet.manifest_file = "site.pp"
puppet.options << [ '--verbose', '--debug' ]
end
end