#Redis
##Overview Puppet module to manage Redis and Redis Sentinel
##Author
- Rob Rankin [email protected]
- Robert Hawdon [email protected]
- Tests
Developed against Redis version 4.0.2. Probably supports all 6.x.y, but older versions may not work.
Developed against CentOS 7, so should support most RH 8.x distributions.
Developed against the REMI Redis RPM packages, probably the best source for up to date Redis packages for RedHat.
PRs to extend the module for other Redis versions, distributions or other Redis sources are welcome.
- Installation and management of Redis instances
- Manage multiple Redis instances on a single server
- Creation of Redis Master/Slave setups
- Installation and management of Sentinel instances (manages Redis master/slave failvoer)
class { '::redis': }
Master Node
redis::server::instance { 'instance_one':
requirepass => 'randompass'
}
Slave Node
redis::server::instance { 'instance_one_slave':
slaveof => '<masterip> <masterport>',
masterauth => 'randompass',
}
redis::sentinel::instance { 'sentinel_one':
port => '26379',
}
redis::sentinel::masters { 'redis_instance_one':
master_ip => 'ip address',
master_port => 'port',
authpass => 'randompass',
quorum => 2,
instance => 'sentinel_one'
}
All Redis Server and Sentinel config file options are available in the module to be overridden as needed. See the params.pp class, and the defined types for Server and Sentinel for a full list.