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


enterprise (9) Versions 1.0.0

Installs common libraries and resources for Chef server and add-ons

cookbook 'enterprise', '= 1.0.0', :supermarket
cookbook 'enterprise', '= 1.0.0'
knife supermarket install enterprise
knife supermarket download enterprise
Quality 83%

enterprise cookbook

Build Status

This cookbook provides common functionality needed for Chef Server, Push Jobs, Reporting, and other enterprise-grade Omnibus projects.

Your omnibus project attributes should define the following attributes:


This defaults to private_chef for back compat. If you are building top-level (non add-on) project, set it to your project name.

In addition, you need to have:

  • node[project_name]['install_path'] the install location for your omnibus project (e.g. /opt/chef-server).

Optional attributes are:

  • node[project_name]['sysvinit_id'] an identifier used in /etc/inittab (default is 'SV'). Needs to be a unique (for the file) sequence of 1-4 characters.
  • node[project_name]['topology'] one of standalone, tier, or ha.
  • node[project_name]['role'] either backend or frontend.
  • node[project_name]['servers'][node_name]['bootstrap'] is used to determine if the node is installation bootstrap server. Value is treated as boolean.



Sets the proper attributes to use runit and creates a runit supervisor to be used by component runit services.



Defines a runit service.


Creates a runit runsvdir process to monitor component runit processes.


  • name - The name of the project
  • ctl_name - Name of the command used to manage the services. Defaults to #{name}-ctl.
  • sysvinit_id - Two-letter prefix used to identify the service on sysvinit-style systems. Defaults to"SV".
  • install_path - Path where the project is installed.


  • :create - Create the necessary files and start the runsvdir service.
  • :delete - Stop the services and the runsvdir service and remove the files.


  • Chef::Provider::ComponentRunitSupervisor::Systemd - For systems using systemd.



Run chef exec rspec to run ChefSpec examples.

Test Kitchen

Integration tests can be run with Test Kitchen.


This cookbook is maintained by Chef's Community Cookbook Engineering team. Our goal is to improve cookbook quality and to aid the community in contributing to cookbooks. To learn more about our team, process, and design goals see our team documentation. To learn more about contributing to cookbooks like this see our contributing documentation, or if you have general questions about this cookbook come chat with us in #cookbok-engineering on the Chef Community Slack


Copyright: 2013-2019, Chef Software, Inc.

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

runit = 5.1.1

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Enterprise Cookbook Change Log

This file is used to list changes made in each version of the enterprise cookbook.

1.0.0 (2021-04-19)

  • Cleanup and modernize the specs a bit - @tas50
  • Cookstyle Bot Auto Corrections with Cookstyle 6.15.9 - @cookstyle
  • Cookstyle Bot Auto Corrections with Cookstyle 6.19.5 - @cookstyle
  • Remove support for sysv and upstart / Require systemd - @tas50

0.15.2 (2020-06-02)

  • Update file headers to match our standard - @tas50
  • Cookstyle fixes including Chef Infra Client 16 compatibility - @xorimabot
    • resolved cookstyle error: libraries/component_runin_supervisor_resource_mixin.rb:4:7 warning: ChefDeprecations/ResourceUsesOnlyResourceName
    • resolved cookstyle error: resources/component_runit_service.rb:21:1 warning: ChefDeprecations/ResourceUsesOnlyResourceName
    • resolved cookstyle error: recipes/runit.rb:18:53 convention: Layout/TrailingWhitespace
    • resolved cookstyle error: recipes/runit.rb:18:54 refactor: ChefModernize/FoodcriticComments
    • resolved cookstyle error: libraries/dsl.rb:28:14 warning: Lint/SendWithMixinArgument
    • resolved cookstyle error: libraries/dsl.rb:29:16 warning: Lint/SendWithMixinArgument
    • resolved cookstyle error: libraries/dsl.rb:30:16 warning: Lint/SendWithMixinArgument
    • resolved cookstyle error: libraries/dsl.rb:35:26 warning: Lint/SendWithMixinArgument
    • resolved cookstyle error: metadata.rb:6:1 refactor: ChefRedundantCode/LongDescriptionMetadata
    • resolved cookstyle error: resources/component_runit_service.rb:36:1 refactor: ChefStyle/TrueClassFalseClassResourceProperties
    • resolved cookstyle error: resources/pg_user.rb:3:1 refactor: ChefStyle/TrueClassFalseClassResourceProperties

0.15.1 (2019-06-02)

  • Minor testing updates and metadata fixes - @tas50

0.15.0 (2019-06-03)

  • Update for and require the new runit cookbook v5.0.1
  • Remove support for keepalived in Chef HA
  • Remove the ChefSpec matchers that are no longer necessary with modern ChefSpec
  • Remove fedora from the metadata since we don't actually support it
  • Refactor component_runit_service to use the new :reload_log action in runit cookbook 5.X's runit_service resource
  • Require Chef 13 or later
  • Remove support for Debian < 8 and RHEL < 6
  • Update the specs for modern platforms

0.14.2 (2018-11-28)

  • turn component_runit_service into a custom resource [#67]

0.14.1 (2018-08-15)

  • Pin runit cookbook to v4.1.1.

0.14.0 (2018-05-18)

  • Make specs Chef 14 friendly
  • Add Ubuntu 18 support
  • Rework specs to use InSpec to detect init system
  • Set systemd TasksMax to infinity where supported This fixes an issue where the JVM ran out of processes.

0.13.0 (2018-03-27)

  • Resolve Chef 14 deprecation warnings

0.12.0 (2018-01-17)

  • Reload the systemd unit files anytime we make changes
  • Convert pg LWRPs to custom resources
  • Increase the minimum supported chef-client to 12.7
  • Move templates out of the default directory since only Chef 11 requires that
  • Minor cleanup to the test recipe and configs
  • Convert broken ServerSpec tests to InSpec

0.11.0 (2017-07-12)

  • Convert the library LWRPs to custom resources
  • [CLOUD-429] Fix runsvdir reboot issues with Upstart
  • Update enterprise_pg_database and specs to be chef 13.x compatible
  • Avoid deprecation warnings in chefspec

0.10.2 (2016-08-10)

  • Add directive to systemd file to wait for network to be up to avoid process (elasticsearch) coming up thinking there is no network configured.

0.10.1 (2016-06-07)

  • Put systemd unit files in /etc/systemd/system; clean up files previously placed in /usr/lib/systemd/system.

0.10.0 (2016-02-11)

  • SUSE support.

0.9.0 (2015-10-08)

  • Relax RuboCop rules
  • Ensure component_runit_supervisor :delete action does not attempt to run a command that does not exist
  • Add basic ChefSpec convergence coverage
  • Update Travis configuration to run using ChefDK

0.8.0 (2015-06-09)

  • Add Gemfile
  • Fix for empty resource definitions overwriting environment variables
  • Update Postgres credentials to utilize environment variables

0.7.1 (2015-06-05)

  • Fix bug with undefined variable in pg_user and pg_database resources

0.7.0 (2015-06-03)

  • Add delete action for component runit supervisor resource

0.6.0 (2015-06-03)

  • Add support for external Postgres databases

0.5.2 (2015-02-05)

  • Add svlogd bin attribute for runit

0.5.1 (2015-01-15)

  • Make it possible to pass arbitrary attrs to runit resources
  • Add systemd support

0.4.7 (2014-11-19)

  • Reload logging service on config changes

0.4.6 (2014-11-06)

  • Apply Apache 2.0 license
  • Allow project to override the name of the ctl script

0.4.5 (2014-09-03)

  • Unbreak private-chef package upgrades, since package_name of private_chef causes major issues
  • Don't mess with install_path and also don't mess with node['enterprise']['name'] downstream by cloning it

0.4.4 (2014-07-18)

  • [OC-11575] Don't start services by default in HA topology

0.4.3 (2014-05-27)

  • Unbreak runit setup on sysv style init (RHEL5)

0.4.2 (2014-05-13)

  • Enable a cluster's default encoding to be specified

Collaborator Number Metric

1.0.0 passed this metric

Contributing File Metric

1.0.0 passed this metric

Foodcritic Metric

1.0.0 failed this metric

FC047: Attribute assignment does not specify precedence: enterprise/recipes/runit.rb:18
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

1.0.0 passed this metric

Testing File Metric

1.0.0 passed this metric

Version Tag Metric

1.0.0 passed this metric