feat: create redisha module

- manage redis/sentinel clusters
- ensure ulimit_managed is false
- dynamically find servers in role to identify master
- add redisadm and sentineladm commands
- add script to check if the current host in the master
This commit is contained in:
2024-08-09 23:22:37 +10:00
parent aadd0275ac
commit b7fc6a1993
8 changed files with 202 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
class redisha::params (
Boolean $redisha_members_lookup = false,
Optional[String] $redisha_members_role = undef,
Array $redisha_servers = [],
# both
Stdlib::Host $redis_host = $facts['networking']['ip'],
Stdlib::Port $redis_port = 6379,
Optional[String] $requirepass = undef,
# redis
Optional[String] $dnf_module_stream = '6',
Integer[1] $databases = 16,
Optional[Variant[String, Sensitive[String], Deferred]] $masterauth = $redisha::params::requirepass,
# sentinel
String[1] $master_name = 'mymaster',
Optional[Variant[String, Sensitive[String]]] $auth_pass = $redisha::params::requirepass,
Integer[1] $quorum = 2,
Enum['yes', 'no'] $sentinel_resolve_hostnames = 'yes',
Enum['yes', 'no'] $sentinel_announce_hostnames = 'yes',
Stdlib::Host $sentinel_announce_ip = $facts['networking']['ip'],
Array[Stdlib::IP::Address] $sentinel_bind = [$facts['networking']['ip']],
Stdlib::Port $sentinel_port = 26379,
){}