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


redis-multi (2) Versions 1.0.0

Redis replication wrapper cookbook

cookbook 'redis-multi', '= 1.0.0'
cookbook 'redis-multi', '= 1.0.0', :supermarket
knife supermarket install redis-multi
knife supermarket download redis-multi
Quality -%


Chef wrapper cookbook to create master, slaves, and sentinel redis server setups. This wrapper should work on all Debian and RHEL platform family OS's.


Cookbook works as a wrapper around the community redisio cookbook to allow for the creation of master/slave and sentinel systems.

The cookbook utilizes three recipes depending on the server's role.

default.rb : calls upstream rediosio::default

enable.rb : calls upstream redisio::enable

master.rb : sets up a redis server and init script with master in name

slave.rb : sets up a slave redis server pointing to the master node definded within attributes.

Search will look for the node in the same environment with the tag redis_master and set slaveof replication to that node. If you do not want to use search, create the master node first before bootstrapping, and set the attribute ['redis-multi']['master'] with the correct IP.

slave.rb : sets up a slave redis server pointing to the master node definded within attributes.

Search will be used in the same fashion as the redis_slave.rb recipe above ( they share the _find_master.rb functionality.)

Note that find_all.rb is included here as a recipe. This is done in case a wrapper cookbook wants to find all redis nodes for iptables or some other purpose.


default['redis-multi']['master'] = nil Used to identify a master IP address. This value will be populated after first run using search and a redis_master tag.

default['redis-multi']['slaves'] = %w() Used to hold a list of slave IP addresses that is populated through search and a redis_slave tag.

** Note that the two settings below only apply if you don't define your own node[redisio] instances of redis (if you call the recipe without doing that, these ports will be used as the defaults for new instances)

default['redis-multi']['bind_port'] = 6379 Used for the port for masters, slaves, and sentinels. Right now, this must be the same everywhere. To override ports, and make them different on different nodes, you will have to use upstream directly.

default['redis-multi']['sentinel_port'] = 46379 Used to specify an alternate default port for sentinel instances.

License & Authors

This cookbook was structured and heavily borrowed inspiration from mysql-multi.

Copyright:: 2014 Rackspace US, 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.

redis-multi Cookbook CHANGELOG

This file is used to list changes made in each version of the redis-multi cookbook.

v1.0.0 (2014-07-30)

  • Breaking change: this cookbook no longer calls the redisio::enable or redisio::default recipes directly, but provides wrappers like redis-multi::enable and redis-multi::default instead. You must now call them separately. This allows downstream users to set node['redisio'] directly after taking advantage of redis-multi.`

v0.1.0 (2014-07-29)

  • Remove redis_ from recipe names (cleaner to see, e.g. redis-multi::foo)
  • Fix some rubocop and foodcritic complaints
  • _find_all.rb becomes public, renamed to find_all.rb
  • Added default attribute for sentinel port number
  • Ensure chef-solo usage doesn't fatal out

v0.0.1 (2014-07-28)

  • Initial import.

No quality metric results found