- add stalwart module - add psql database on the shared patroni instance - add ceph-rgw credentials to eyaml - ensure psql pass and s3 access key are converted to sensitive
26 lines
834 B
Puppet
26 lines
834 B
Puppet
# @summary Manages Stalwart Mail Server clustering configuration
|
|
#
|
|
# @api private
|
|
class stalwart::clustering {
|
|
assert_private()
|
|
|
|
# Use cluster member data calculated in main class
|
|
$cluster_members = $stalwart::sorted_cluster_members
|
|
$effective_node_id = $stalwart::effective_node_id
|
|
|
|
# Remove self from cluster members list
|
|
$other_cluster_members = $cluster_members.filter |$member| { $member != $facts['networking']['fqdn'] }
|
|
|
|
# Calculate cluster size for role distribution
|
|
$cluster_size = length($cluster_members)
|
|
|
|
# Store cluster information for use in templates
|
|
$cluster_info = {
|
|
'members' => $cluster_members,
|
|
'other_nodes' => $other_cluster_members,
|
|
'size' => $cluster_size,
|
|
'node_id' => $effective_node_id,
|
|
'datacenter' => "${facts['country']}-${facts['region']}",
|
|
}
|
|
}
|