2 # postgresql server role
4 # @param manage_clusters_hba manage clusters' pg_hba.conf using postgres::cluster. Eventually should should be true for every host and we can drop the param
5 # @param backups Do backups of the database clusters on this host
6 class roles::postgresql::server(
7 Variant[Boolean,Array[Integer]] $manage_clusters_hba = false,
8 Boolean $backups = true,
10 $clusters = $facts['postgresql_clusters']
11 $clusters.each |$cluster| {
12 $version = $cluster['version']
13 $cluster_name = $cluster['cluster']
14 $port = $cluster['port']
16 if $manage_clusters_hba =~ Boolean {
17 $hba = $manage_clusters_hba
19 $hba = $port in $manage_clusters_hba
21 postgres::cluster { "${version}::${cluster_name}":
22 pg_version => $version,
23 pg_cluster => $cluster_name,