tjnicholas / knife-inspect

Inspect your chef repo as is compares to what is on your chef server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

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

About

Inspect your chef repo as is compares to what is on your chef server

License:MIT License