class openstack_integration::redis { include openstack_integration::config $port = $openstack_integration::config::ssl ? { true => 0, default => 6379 } $tls_port = $openstack_integration::config::ssl ? { true => 6379, default => undef } $sentinel_port = $openstack_integration::config::ssl ? { true => 0, default => 26379 } $sentinel_tls_port = $openstack_integration::config::ssl ? { true => 26379, default => undef } class { 'redis': bind => $::openstack_integration::config::host, port => $port, tls_port => $tls_port, tls_cert_file => $::openstack_integration::params::cert_path, tls_key_file => "/etc/redis/ssl/private/${facts['networking']['fqdn']}.pem", tls_ca_cert_file => $::openstack_integration::params::ca_bundle_cert_path, ulimit_managed => false, requirepass => 'a_big_secret', } class { 'redis::sentinel': auth_pass => 'a_big_secret', redis_host => $::openstack_integration::config::host, redis_port => 6379, requirepass => 'a_big_secret', quorum => 1, sentinel_port => $sentinel_port, sentinel_tls_port => $sentinel_tls_port, sentinel_bind => $::openstack_integration::config::host, tls_cert_file => $::openstack_integration::params::cert_path, tls_key_file => "/etc/redis/ssl/private/${facts['networking']['fqdn']}.pem", tls_ca_cert_file => $::openstack_integration::params::ca_bundle_cert_path, tls_replication => $openstack_integration::config::ssl, } if $::openstack_integration::config::ssl { openstack_integration::ssl_key { 'redis': require => Package[$::redis::package_name], notify => Service[$::redis::service_name], } } }