14
votes

I'm using Vagrant and chef-solo to test my cookbooks, but I have one particular recipe that requires chef-server (it uses search). I'd like my default recipe to look like the following:

include_recipe 'some_recipe'
include_recipe 'some_other_recipe'
unless running_as_chef_solo?
  include_recipe 'a_recipe_that_requires_chef_server'
end

How can I check whether chef is running as chef-solo from within a cookbook, so I can skip unsupported recipes?

1

1 Answers

24
votes

Use the Chef::Config object:

unless Chef::Config[:solo]
  include_recipe 'a_recipe_that_requires_chef_server'
end