Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

knife-inspect Knife Plugin

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

Install & Usage Instructions

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.