Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Puppet Redis Module

Module for configuring Redis.

Tested on Debian GNU/Linux 6.0 Squeeze and Ubuntu 10.4 LTS with Puppet 2.6. Patches for other operating systems welcome.


  • Ability to configure snapshotting intervals.
  • Ability to configure the slow log.


Clone this repo to a redis directory under your Puppet modules directory:

git clone git:// redis

If you don't have a Puppet Master you can create a manifest file based on the notes below and run Puppet in stand-alone mode providing the module directory you cloned this repo to:

puppet apply --modulepath=modules test_redis.pp


To install and configure Redis, include the module:

include redis::server

Note that you'll need to define a global search path for the exec resource to make the redis::server class function properly. This should ideally be placed in manifests/site.pp:

Exec {
  path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",

You'll also need to install some build dependencies:

include redis::dependencies
package { $redis::dependencies::packages:
  ensure => present,

You can override defaults in the Redis config by including the module with this special syntax:

class { "redis::server":
  version => "2.4.0",
  bind => "",
  port => 6379,
  requirepass => "MY_SUPER_SECRET_PASSWORD",

You can also configure a slave which connects to another Redis master instance:

class { "redis::server":
  bind => "",
  port => 6379,
  masterip => "",
  masterport => 6379,
  masterauth => "MY_SUPER_SECRET_PASSWORD",

By default Redis saves the database to disk through snapshotting. You can enable AOF in stead:

class { "redis::server":
  aof => true,
Something went wrong with that request. Please try again.