Ohai Chefs!
I just released chef-runner version 0.5.0.
This release brings a couple of improvements to how cookbook
dependencies are resolved, making it possible to use chef-runner as a
"general purpose Chef provisioner" outside of a cookbook directory.
(Thanks to @guilhem for the idea!)
For this, chef-runner now follows these rules:
-
If the current directory contains a
Berksfile
, Berkshelf is used
to manage cookbooks. -
If the current directory contains a
Cheffile
, Librarian-Chef is
used to manage cookbooks. -
If the current directory is a cookbook with a
metadata.rb
file
that defines the cookbook's name, only this cookbook is copied to the
right place. -
The same is done when dependencies have already been resolved with
Berkshelf or Librarian-Chef to reduce overall provisioning time. -
metadata.rb
is only required when defining recipes in a format
other thancookbook::recipe
. The standard syntaxcookbook::recipe
should always work. -
chef-runner fails if no cookbooks can be found.
Other improvements:
-
Configure Chef to verify all HTTPS connections. This removes the SSL
warning message printed at the start of every Chef run. (Internally,
ssl_verify_mode
is set to:verify_peer
, which is going to be the
new default someday.) -
Add
script/coverage
to generate code coverage statistics for Go packages. -
Test dependency handling and provisioning more thoughtfully.
-
Log most executed commands when log level is set to debug.
-
Improve many parts of the README.
-
Add Go documentation to some packages.
I would love to get some feedback on the new release and how I can
further improve chef-runner to make it more useful. Simply leave a
reply here or reach out to me on Twitter (I'm @mlafeldt). Thanks!
-Mathias