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


chef-ingredient (69) Versions 0.6.0

Primitives for managing Chef products and packages

cookbook 'chef-ingredient', '= 0.6.0', :supermarket
cookbook 'chef-ingredient', '= 0.6.0'
knife supermarket install chef-ingredient
knife supermarket download chef-ingredient
Quality 0%

chef-ingredient Cookbook

This cookbook provides primitives - helpers and resources - to manage Chef Software, Inc.'s products and add-ons.

  • Chef Server 12
  • Chef Analytics
  • Chef Delivery
  • Supermarket

It will perform component installation and configuration. It provides no recipes. Instead, wrapper cookbooks should be created using the resources that this cookbook provides.

For a product to package matrix, see


  • apt
  • yum


  • Ubuntu 10.04, 12.04, 14.04
  • CentOS 6, 7



This is a backwards compatibility shim for the chef_ingredient resource.


A "chef ingredient" is the core package itself, or products or add-on components published by Chef Software, Inc. This resource manages the installation, configuration, and running the ctl reconfigure of individual packages.


  • install - (default) Configures the package repository and installs the specified package.
  • uninstall - Uninstalls the specified package.
  • remove - Alias for uninstall
  • reconfigure - Performs the ctl reconfigure command for the package.


  • product_name: (name attribute) The product name. See the For example, chef-server, analytics, delivery, manage, etc.
  • package_name: The name of the package in the repository. Should correspond to the published package names (chef-server-core, opscode-manage, etc).
  • ctl_command: The "ctl" command, e.g., chef-server-ctl. This should be automatically detected by the library helper method chef_ctl_command, but may need to be specified if something changes, like a new add-on is made available.
  • options: Options passed to the package resource used for installation.
  • version: Package version, e.g., 12.0.4. Do not use if specifying package_source. Default nil.
  • package_source: Full path to a location where the package is located. If present, this file is used for installing the package. Default nil.
  • timeout: The amount of time (in seconds) to wait to fetch the installer before timing out. Default: default timeout of the Chef package resource - 900 seconds.


Manages a sub-service within the context of a Chef product package. For example the rabbitmq service that is run for the Chef Server.


This delegates to the ctl command the service management command specified in the action. Not all the service management commands are supported, however, as not all of them would make sense when used in a recipe. This resource is primarily used for sending or receiving notifications. See the example section.


  • ctl_command: The "ctl" command, e.g. chef-server-ctl. This should be automatically detected by the library helper method chef_ctl_command, but may need to be specified if something changes, like a new add-on is made available.
  • service_name: (name attribute) The name of the service to manage. Specify this like product_name/service, for example, chef-server/rabbitmq.


We may need to restart the RabbitMQ service on the Chef Server, for example when adding configuration for Chef Analytics.

template '/etc/opscode/chef-server.rb' do
  notifies :restart, 'omnibus_service[chef-server-core/rabbitmq]'

omnibus_service 'chef-server-core/rabbitmq' do
  action :nothing

License and Author

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

apt-chef >= 0.0.0
yum-chef >= 0.0.0

Contingent cookbooks

chef-analytics Applicable Versions
chef-compliance Applicable Versions
chef-server Applicable Versions
chef-server-ingredient Applicable Versions
chef_fedora_base Applicable Versions
chef_software Applicable Versions
chefdk Applicable Versions
cinc-omnibus Applicable Versions
deploy-context Applicable Versions
inspec-cron Applicable Versions
inspec_cron Applicable Versions
managed-chef-server Applicable Versions
managed_chef_server Applicable Versions
omnibus Applicable Versions
push-jobs Applicable Versions
supermarket-omnibus-cookbook Applicable Versions


Breaking changes This version is backwards-incompatible with previous versions. We're still sub-1.0, but those who wish to use the chef_server_ingredient resource really should pin to version 0.5.0.

  • #1 Use product names instead of package names.


  • Major refactor and rename. It's fine, this is a new cookbook!

v0.4.0 (2015-06-11)

  • Add timeout attribute to chef_server_ingredient
  • Use declare_resource DSL method to select local package resource
  • Allow specifying the repository name for the packagecloud repo

v0.3.2 (2015-04-15)

  • adding proxy support for packagecloud

v0.3.1 (2015-04-09)

  • Various refactoring and cleanup


  • Add ctl command for supermarket


  • Add reconfigure property to ingredient resource


  • Release this cookbook to Supermarket


  • #4: define the installed attribute
  • #1, #2, use packagecloud cookbook


  • Initial release

Foodcritic Metric

0.6.0 failed this metric

FC009: Resource attribute not recognised: /tmp/cook/723cc3c67b13a86a7f18e323/chef-ingredient/libraries/chef_ingredient_provider.rb:39
FC031: Cookbook without metadata file: /tmp/cook/723cc3c67b13a86a7f18e323/chef-ingredient/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/723cc3c67b13a86a7f18e323/chef-ingredient/metadata.rb:1