fd8f9164b2f2bca98113583852412976c75450af
[mirror/dsa-puppet.git] / modules / roles / manifests / postgresql / server.pp
1 #
2 # postgresql server role
3 #
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 class roles::postgresql::server(
6   Variant[Boolean,Array[Integer]] $manage_clusters_hba = false,
7 ) {
8   $clusters = $facts['postgresql_clusters']
9   $clusters.each |$cluster| {
10     $version      = $cluster['version']
11     $cluster_name = $cluster['cluster']
12     $port         = $cluster['port']
13
14     if $manage_clusters_hba =~ Boolean {
15       $hba = $manage_clusters_hba
16     } else {
17       $hba = $port in $manage_clusters_hba
18     }
19     postgres::cluster { "${version}::${cluster_name}":
20       pg_version => $version,
21       pg_cluster => $cluster_name,
22       pg_port    => $port,
23       manage_hba => $hba,
24     }
25   }
26 }