Dan DeLeo appeared on the FoodFightShow some time ago to walk through "what a Chef run really does". I expanded on these remarks in my personal investigation.
-
bin/chef-clientcreates a newChef::Application::Client(subclass ofChef::Applicationwhich sets up common things like loggers across chef-client, chef-solo, knife, etc.) then jump to: -
lib/chef/client.rb -
application classes create a new
Chef::Clientobject, which callsinitialize().