Allow us to gradually move a server with multiple clusters to move to managed hba
[mirror/dsa-puppet.git] / modules / roles / manifests / postgresql / server.pp
index 785bc09..fd8f916 100644 (file)
@@ -1,25 +1,26 @@
 #
 # postgresql server role
 #
-class roles::postgresql::server {
-  include postgres::backup_source
-
+# @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
+class roles::postgresql::server(
+  Variant[Boolean,Array[Integer]] $manage_clusters_hba = false,
+) {
   $clusters = $facts['postgresql_clusters']
   $clusters.each |$cluster| {
-    # Do not backup clusters that are replication targets,
-    # like the dak mirror or snapshot secondaries
     $version      = $cluster['version']
     $cluster_name = $cluster['cluster']
     $port         = $cluster['port']
-    if ! $cluster['status']['recovery'] {
-      postgres::backup_cluster { "${::hostname}-${version}-${cluster_name}":
-        pg_version => $version,
-        pg_cluster => $cluster_name,
-        pg_port    => $port,
-      }
-    }
-  }
 
-  postgres::backup_server::register_backup_clienthost { "backup-clienthost-${::fqdn}}":
+    if $manage_clusters_hba =~ Boolean {
+      $hba = $manage_clusters_hba
+    } else {
+      $hba = $port in $manage_clusters_hba
+    }
+    postgres::cluster { "${version}::${cluster_name}":
+      pg_version => $version,
+      pg_cluster => $cluster_name,
+      pg_port    => $port,
+      manage_hba => $hba,
+    }
   }
 }