Primarily:
Your chef recipes should set your node to 1 in the same configuration, no matter how many times the chef starts. You should also never restart any services yourself. This behavior should be notified by configuration files if they are changed. For instance:
service 'apache2' do
action [:enable, :start]
end
template '/etc/apache2/httpd.conf' do
action :create
[...]
notifies, :restart, 'service[apache2]'
end
You can also disable the chef-client daemon by running chef-client --once. This way the chef will provide node and remove itself from cron. Thus, in the future it will only be launched manually on demand.
, chef-client . .