Puppet Class: redis
- Defined in:
- modules/redis/manifests/init.pp
Overview
Class: redis
Redis is an in-memory data store with support for rich data structures, scripting, transactions, persistence, and high availability.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'modules/redis/manifests/init.pp', line 6
class redis {
ensure_packages('redis-server')
file { [ '/srv/redis', '/var/lib/redis', '/var/log/redis' ]:
ensure => directory,
owner => 'redis',
group => 'redis',
mode => '0755',
}
# Disable the default, system-global redis service,
# because it's incompatible with a multi-instance setup.
service { 'redis-server':
ensure => stopped,
enable => false,
subscribe => Package['redis-server'],
}
# Disabling transparent hugepages is strongly recommended
# in http://redis.io/topics/latency.
sysfs::parameters { 'disable_transparent_hugepages':
values => { 'kernel/mm/transparent_hugepage/enabled' => 'never' },
}
# Background save may fail under low memory condition unless
# vm.overcommit_memory is 1.
sysctl::parameters { 'vm.overcommit_memory':
values => { 'vm.overcommit_memory' => 1 },
}
file { '/etc/redis/redis-common.conf':
ensure => absent,
}
# Manage the redis.conf file again as we need it
# to be the simplest lowest-common denominator
file { '/etc/redis/redis.conf':
ensure => present,
source => 'puppet:///modules/redis/redis.conf',
owner => 'root',
group => 'root',
mode => '0644',
}
# ensure that /var/run/redis is created at boot
file { '/etc/tmpfiles.d/redis-startup.conf':
ensure => present,
owner => 'root',
group => 'root',
mode => '0444',
content => 'd /var/run/redis 0755 redis redis',
}
}
|