Skip to content

mrsteffenjo/puppet-redis

 
 

Repository files navigation

Puppet Redis

License CI Code Coverage Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores

Example usage

Standalone

include redis

Master node

class { 'redis':
  bind => '10.0.1.1',
}

With authentication

class { 'redis':
  bind       => '10.0.1.1',
  masterauth => 'secret',
}

Slave node

class { 'redis':
  bind    => '10.0.1.2',
  slaveof => '10.0.1.1 6379',
}

With authentication

class { 'redis':
  bind       => '10.0.1.2',
  slaveof    => '10.0.1.1 6379',
  masterauth => 'secret',
}

Redis 3.0 Clustering

class { 'redis':
  bind                 => '10.0.1.2',
  appendonly           => true,
  cluster_enabled      => true,
  cluster_config_file  => 'nodes.conf',
  cluster_node_timeout => 5000,
}

Multiple instances

$listening_ports = [6379,6380,6381,6382]

class { 'redis':
  default_install => false,
  service_enable  => false,
  service_ensure  => 'stopped',
}

$listening_ports.each |$port| {
  $port_string = sprintf('%d',$port)
  redis::instance { $port_string:
    service_enable => true,
    service_ensure => 'running',
    port           => $port,
    bind           => $facts['networking']['ip'],
    dbfilename     => "${port}-dump.rdb",
    appendfilename => "${port}-appendonly.aof",
    appendfsync    => 'always',
    require        => Class['Redis'],
  }
}

Manage repositories

Disabled by default but if you really want the module to manage the required repositories you can use this snippet:

class { 'redis':
  manage_repo => true,
}

On Ubuntu, you can use a PPA by using the ppa_repo parameter:

class { 'redis':
  manage_repo => true,
  ppa_repo    => 'ppa:rwky/redis',
}

Warning note that PPA usage requires puppetlabs/apt on Ubuntu distros

Redis Sentinel

Optionally install and configuration a redis-sentinel server.

With default settings:

include redis::sentinel

With adjustments:

class { 'redis::sentinel':
  master_name      => 'cow',
  redis_host       => '192.168.1.5',
  failover_timeout => 30000,
}

Soft dependency

When managing the repo, it needs puppetlabs/apt.

For administration of sysctl it depends on herculesteam/augeasproviders_sysctl.

redis::get() function

This function is used to get data from redis. You must have the 'redis' gem installed on your puppet master.

Functions are documented in REFERENCE.md

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 49.8%
  • Puppet 48.9%
  • HTML 1.2%
  • Pascal 0.1%