Puppet Class: idm::redis
- Defined in:
- modules/idm/manifests/redis.pp
Overview
SPDX-License-Identifier: Apache-2.0
2 3 4 5 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 |
# File 'modules/idm/manifests/redis.pp', line 2
class idm::redis (
Stdlib::Fqdn $redis_master,
Array[Stdlib::Fqdn] $redis_replicas,
String $redis_password,
Stdlib::Port $redis_port,
Integer $redis_maxmem,
){
unless $redis_replicas.empty() {
firewall::service { 'redis_replication':
proto => 'tcp',
port => $redis_port,
srange => $redis_replicas,
}
}
$base_redis_settings = {
bind => [$facts['networking']['ip'], $facts['networking']['ip6']],
maxmemory => $redis_maxmem,
port => $redis_port,
requirepass => $redis_password,
}
$replica_redis_settings = {
replicaof => "${$redis_master} ${redis_port}",
masterauth => $redis_password,
}
unless $facts['networking']['hostname'] in $redis_master {
$redis_settings = $base_redis_settings + $replica_redis_settings
} else {
$redis_settings = $base_redis_settings
}
redis::instance { String($redis_port):
settings => $redis_settings,
notify => Service['uwsgi-bitu', 'rq-bitu'],
}
$redis_service_name = "redis-instance-tcp_${redis_port}"
profile::auto_restarts::service { $redis_service_name: }
}
|