Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Inspect your chef repo as is compares to what is on your chef server
Ruby

README.md

Gem Version Build Status Code Climate Coverage Status

Summary

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.

Usage

$ gem install knife-inspect
$ cd [chef repo]

Knife Commands

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 diff seems 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 knife diff (Only in .: clients for example)
  • I actually didn't know there was a built-in knife diff command.

Compatibility

This gem is tested with Ruby 2.1 and 2.2 and should be compatible with Chef 10, 11 and 12.

Contributors

(in alphabetical order)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Do not bump the version number
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request
Something went wrong with that request. Please try again.