Flagging problems in your Chef cookbooks with Foodcritic
You might wonder what the proven ways to write cookbooks are. Foodcritic tries to identify possible issues with the logic and style of your cookbooks.
In this section, you'll learn how to use Foodcritic on some existing cookbooks.
Getting ready
Install version 6.0.0 of the mysql
cookbook by running the following code:
mma@laptop:~/chef-repo $ knife cookbook site install mysql 6.0.0 Installing mysql to /Users/mma/work/chef-repo/cookbooks …TRUNCATED OUTPUT… Cookbook mysql version 6.0.0 successfully installed
How to do it…
Let's see how Foodcritic reports findings:
- Run
foodcritic
on your cookbook:mma@laptop:~/chef-repo $ foodcritic ./cookbooks/mysql ...TRUNCATED OUTPUT... FC001: Use strings in preference to symbols to access node attributes: ./cookbooks/mysql/libraries/helpers.rb:273 FC005: Avoid repetition of resource declarations: ./cookbooks/mysql/libraries/provider_mysql_service.rb:77 ...TRUNCATED OUTPUT...