mirror of
https://github.com/discourse/discourse.git
synced 2024-12-05 12:23:38 +08:00
f3bcbd8bc3
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`.
26 lines
830 B
Ruby
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]
|