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


mcrouter (7) Versions 3.0.1

Installs/Configures mcrouter

cookbook 'mcrouter', '~> 3.0.1', :supermarket
cookbook 'mcrouter', '~> 3.0.1'
knife supermarket install mcrouter
knife supermarket download mcrouter
Quality 33%


Build Status

Install mcrouter and its dependencies, and provide mechanisms to configure and start mcrouter.

This cookbook can, optionally, install a copy of memcached to use locally. This can be disabled by setting node['mcrouter']['local_memcached'] to false.



  • memcached cookbook
  • magic cookbook


The following platforms are supported and tested with Test Kitchen:

  • Ubuntu 16.04
  • Ubuntu 18.04


  • Chef 12.11+


  • Include mcrouter::default in your node’s run list.

If you wish to customize any of the configuration for mcrouter, you will want to edit the two attributes used to populate the config file and the CLI arguments passed to mcrouter on service start:

  • node['mcrouter']['cli_opts']
    • Do not overwrite this completely; the values specified already are required, instead, either:
      • supply updated values for these in addition to your new options
      • specify your particular CLI option: default['mcrouter']['cli_opts']['async-dir']
  • node['mcrouter']['config'] - See configuration options at mcrouter wiki.


  • node['mcrouter']['user'] - User that mcrouter will run as

  • node['mcrouter']['local_memcached'] - Enable a local installation of memcache. true by default.

  • node['memcached']['port'] - Configure memcached port. This are overrides of memcached cookbook

  • node['memcached']['udp_port'] - Configure memcached udp port. This are overrides of memcached cookbook

  • node['mcrouter']['cli_opts'] - Collection of hashes that will be passed to mcrouter on start. You can see the whole list here

  • node['mcrouter']['config'] - This will become mcrouter configuration file. You can read more at Config Files on mcrouter wiki


Author:: EverTrue, Inc.

Author:: Jeff Byrnes

Dependent cookbooks

build-essential >= 0.0.0
magic ~> 1.5
memcached ~> 5.1

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

CHANGELOG for mcrouter

[v3.0.1] (2019-03-26)

  • Fix CHANGELOG to accurately reflect v3.0.0

[v3.0.0] (2019-03-26)

Breaking changes:

  • Drop source-based installation in favor of APT package installation
  • Drop support for Ubuntu 14.04
  • Switch to SystemD for the mcrouter service


  • Add support for Ubuntu 16.04 & Ubuntu 18.04

[v2.0.2] (2015-12-15)


  • Delete only build subdirectory (so that ark does not run twice)

[v2.0.1] (2015-12-07)


  • Updated test kitchen file format
  • Re-order build/install ops so that build dirs are always deleted

[v2.0.0] (2015-08-17)

Breaking changes:

  • Folly version updated to v0.53.0
    • This is now adjustable via an attribute, node['folly']['version']
  • Mcrouter version set to v0.5.0
    • This is now adjustable via an attribute, node['mcrouter']['version']


  • Packages needed for Folly/Mcrouter updated as per most recent Folly/Mcrouter docs

[v1.0.1] (2015-07-15)


  • Add dependency package: libssl-dev

[v1.0.0] (2015-07-09)

Breaking changes:

  • ['mcrouter']['src_dir'] no longer determines build location (that is now :file_cache_path), and as a result...
  • Builds are now done in :file_cache_path instead of /opt
  • mcrouter::folly is now included by mcrouter::install


  • Vastly clean up the install process (e.g. now using ark for source install)
    • Stopped installing gtest
    • Pruned Apt package install list
    • Use ./configure defaults rather than specifying a zillion environment variables
    • Just do make install for mcrouter and use the default install location (rather than linking /usr/local/bin/mcrouter -> node['mcrouter']['install_dir']/bin/mcrouter)
    • Just install build-essentials with the cookbook rather than devoting half the cookbook to setting up the build system
    • Break package installs out into _deps recipe
  • Folly and McRouter now delete their build directories once they're finished installing
  • Update the README
  • Clean up the Upstart script a bit


  • Run ldconfig after make install on folly (addresses "library not found" issue with mcrouter)

[v0.2.2] (2015-02-28)


  • Subscribed service[mcrouter] to its own service script to restart on any changes to its CLI options

[v0.2.1] (2015-02-25)


  • Updated, clarified README

[v0.2.0] (2015-02-25)


  • Replace missed hard-coded ownership settings with node['mcrouter']['user']


  • Switch from hard-coded CLI flags to an hash attribute-driven system, utilizing the magic cookbook

[v0.1.0] (2015-02-24)


  • Fix paths for dependent libraries for mcrouter build
  • Ensure dirs needed for mcrouter exist
  • Fix test assertion for mcrouter config


  • Parameterize paths for folly & mcrouter
    • Makes for simpler configuration of builds
  • Fix path to optionally-installed double-conversion lib
  • Install & configure memcached to start on port 11811
    • mcrouter needs an instance of memcached somewhere to talk to; simplest thing is to just install it locally
  • Set up an Upstart service to manage mcrouter

[v0.0.1] (2015-02-19)


  • Initial release:
    • Builds & installs mcrouter

Collaborator Number Metric

3.0.1 passed this metric

Contributing File Metric

3.0.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

3.0.1 failed this metric

FC121: Cookbook depends on cookbook made obsolete by Chef 14: mcrouter/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

3.0.1 passed this metric

Testing File Metric

3.0.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

3.0.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must include a tag that matches this cookbook version number