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


consul (59) Versions 0.4.1

Application cookbook which installs and configures Consul.

cookbook 'consul', '= 0.4.1'
cookbook 'consul', '= 0.4.1', :supermarket
knife supermarket install consul
knife supermarket download consul
Quality -%


Release Build Status Code Coverage

Installs and configures Consul.

Supported Platforms

  • CentOS 5.10, 6.5, 7.0
  • RHEL 5.10, 6.5, 7.0
  • Ubuntu 12.04, 14.04


<table> <tr> <th>Key</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> <tr> <td><tt>['consul']['version']</tt></td> <td>String</td> <td>Version to install</td> <td><tt>0.3.0</tt></td> </tr> <tr> <td><tt>['consul']['base_url']</tt></td> <td>String</td> <td>Base URL for binary downloads</td> <td><tt></tt></td> </tr> <tr> <td><tt>['consul']['install_method']</tt></td> <td>String</td> <td>Method to install consul with when using default recipe: binary or source</td> <td><tt>binary</tt></td> </tr> <tr> <td><tt>['consul']['install_dir']</tt></td> <td>String</td> <td>Directory to install binary to.</td> <td><tt>/usr/local/bin</tt></td> </tr> <tr> <td><tt>['consul']['service_mode']</tt></td> <td>String</td> <td>Mode to run consul as: bootstrap, server, or client</td> <td><tt>bootstrap</tt></td> </tr> <tr> <td><tt>['consul']['data_dir']</tt></td> <td>String</td> <td>Location to store consul's data in</td> <td><tt>/var/lib/consul</tt></td> </tr> <tr> <td><tt>['consul']['config_dir']</tt></td> <td>String</td> <td>Location to read service definitions from (directoy will be created)</td> <td><tt>/etc/consul.d</tt></td> </tr> <tr> <td><tt>['consul']['servers']</tt></td> <td>Array Strings</td> <td>Consul servers to join</td> <td><tt>[]</tt></td> </tr> <tr> <td><tt>['consul']['bind_addr']</tt></td> <td>String</td> <td>address that should be bound to for internal cluster communications</td> <td><tt></tt></td> </tr> <tr> <td><tt>['consul']['datacenter']</tt></td> <td>String</td> <td>Name of Datacenter</td> <td><tt>dc1</tt></td> </tr> <tr> <td><tt>['consul']['domain']</tt></td> <td>String</td> <td>Domain for service lookup dns queries</td> <td><tt>.consul</tt></td> </tr> <tr> <td><tt>['consul']['log_level']</tt></td> <td>String</td> <td> The level of logging to show after the Consul agent has started. Available: "trace", "debug", "info", "warn", "err" </td> <td><tt>info</tt></td> </tr> <tr> <td><tt>['consul']['node_name']</tt></td> <td>String</td> <td>The name of this node in the cluster</td> <td>hostname of the machine</td> </tr> <tr> <td><tt>['consul']['advertise_addr']</tt></td> <td>String</td> <td>address that we advertise to other nodes in the cluster</td> <td>Value of <i>bind_addr</i></td> </tr> <tr> <td><tt>['consul']['init_style']</tt></td> <td>String</td> <td>Service init mode for running consul as: init or runit</td> <td><tt>init</tt></td> </tr> <tr> <td><tt>['consul']['service_user']</tt></td> <td>String</td> <td>For runit service: run consul as this user (init uses 'root')</td> <td><tt>consul</tt></td> </tr> <tr> <td><tt>['consul']['service_group']</tt></td> <td>String</td> <td>For runit service: run consul as this group (init uses 'root')</td> <td><tt>consul</tt></td> </tr> <tr> <td><tt>['consul']['bind_interface']</tt></td> <td>String</td> <td> Interface to bind to, such as 'eth1'. Sets bind_addr attribute to the IP of the specified interface if it exists. </td> <td><tt>nil</tt></td> </tr> <tr> <td><tt>['consul']['advertise_interface']</tt></td> <td>String</td> <td> Interface to advertise, such as 'eth1'. Sets advertise_addr attribute to the IP of the specified interface if it exists. </td> <td><tt>nil</tt></td> </tr> </table>

Consul UI Attributes

<table> <tr> <th>Key</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> <tr> <td><tt>['consul']['client_address']</tt></td> <td>String</td> <td>Address to bind to</td> <td><tt></tt></td> </tr> <tr> <td><tt>['consul']['client_interface']</tt></td> <td>String</td> <td> Interface to advertise, such as 'eth1'. Sets advertise_addr attribute to the IP of the specified interface if it exists. </td> <td><tt>nil</tt></td> </tr> <tr> <td><tt>['consul']['ui_dir']</tt></td> <td>String</td> <td>Location to download the UI to</td> <td><tt>/var/lib/consul/ui</tt></td> </tr> <tr> <td><tt>['consul']['serve_ui']</tt></td> <td>Boolean</td> <td>Determines whether the consul service also serve's the UI</td> <td><tt>false</tt></td> </tr> </table>



This uses the binary installation recipe by default. It also starts consul at boot time.


Include consul::binary_install in your node's run_list:

  "run_list": [


Include consul::source_install in your node's run_list:

  "run_list": [


This installs the UI into a specified directory.

Include consul::ui in your node's run_list:

  "run_list": [


Created and maintained by John Bellone @johnbellone ( and a growing community of contributors.


Bumps default version of Consul to 0.3.1.

Adds support to bind to the IP of a named interface. - bind_interface, advertise_interface, client_interface attributes (thanks @romesh-mccullough)

Test/Quality Coverage - Expands test coverage to the consul::ui and consul::_service recipes. - Passes some more rubocop and foodcritic code quality tests. - Only test in Travis against rubies of future past.


Adds ChefSpec tests and software lint/metrics.

Breaking Changes - Renames binary_install recipe to install_binary - Renames source_install recipe to source_binary


Bumps the release of Consul to 0.3.0.

Adds Service LWRP (thanks @reset!)


Bumps the release of Consul to 0.2.0.

Adds consul::service recipe. Adds more tests.

Bug Smashing - Source installation now works properly. - Test Kitchen shows all green!


Initial release of Consul cookbook.

Source and binary installation recipes.

No quality metric results found