knife-inspect Knife Plugin
Inspect your chef repo as it compares to what is on your chef server
Install & Usage Instructions
knife-inspect is a knife plugin that inspects your chef repo as it
compares to what is on your chef server. You can inspect your entire repo,
or individual components.
$ gem install knife-inspect $ cd [chef repo]
knife inspect knife cookbook inspect knife cookbook inspect [COOKBOOK] knife data bag inspect knife data bag inspect [BAG] knife data bag inspect [BAG] [ITEM] knife environment inspect knife environment inspect [ENVIRONMENT] knife role inspect knife role inspect [ROLE]
What it does
So far it checks if...
- your cookbooks are in sync
- you have uncommitted changes in a cookbook (assuming your cookbooks are in their own git repos)
- you have commits in a cookbook that haven't been pushed to your remote (assuming your cookbooks are in their own git repos)
- your data bags are in sync
- your data bag items are in sync
- your environments are in sync
- your roles are in sync
You can use it with your favorite Continuous Integration tool, it returns 0 when everything is in sync or 1 if it's not.
Frequently Asked Questions
How is it different from knife diff?
- It returns the proper return code, so you can use it with a Continuous Integration tool
knife diffseems to expect local roles to be json files, knife-inspect supports both JSON and Ruby.
- It's my personal opinion, but I think the output from knife-inspect is more readable. Also I don't understand some of the errors I'm getting with
Only in .: clientsfor example)
- I actually didn't know there was a built-in
This gem is tested with Ruby 2.1 and 2.2 and should be compatible with Chef 10, 11 and 12.