discourse/chef/cookbooks/omnibus_updater/recipes/default.rb
Elliot Murphy f3bcbd8bc3 Use chef-solo to install phantomjs into Vagrant VM.
This introduces two configuration management runs into the
Vagrant provisioning phase. The first chef-solo run ensures that
a current version of chef is installed using the omnibus updater.
The second chef-solo run installs vim and phantomjs.

Much more is possible, this is a proof of concept.
Cookbooks are stored in the chef directory, and managed by
librarian-chef, which is like a bundler for cookbooks.

Chef is run when VM is first downloaded and booted, but not on
subsequent halt/up cycles. To force chef to run again, use
`vagrant provision`.
2013-02-07 14:09:57 -05:00

26 lines
830 B
Ruby

if node[:omnibus_updater][:disabled]
Chef::Log.warn 'Omnibus updater disabled via `disabled` attribute'
elsif node[:omnibus_updater][:install_via]
case node[:omnibus_updater][:install_via]
when 'deb'
include_recipe 'omnibus_updater::deb_package'
when 'rpm'
include_recipe 'omnibus_updater::rpm_package'
when 'script'
include_recipe 'omnibus_updater::script'
else
raise "Unknown omnibus update method requested: #{node[:omnibus_updater][:install_via]}"
end
else
case node.platform_family
when 'debian'
include_recipe 'omnibus_updater::deb_package'
when 'fedora', 'rhel'
include_recipe 'omnibus_updater::rpm_package'
else
include_recipe 'omnibus_updater::script'
end
end
include_recipe 'omnibus_updater::remove_chef_system_gem' if node[:omnibus_updater][:remove_chef_system_gem]