pg config on ullmann, pt 1
[mirror/dsa-puppet.git] / modules / roles / manifests / postgresql / server.pp
index 20c4c6c..3b6dfcb 100644 (file)
@@ -1,22 +1,29 @@
 #
 # 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
+# @param backups              Do backups of the database clusters on this host
+class roles::postgresql::server(
+  Variant[Boolean,Array[Integer]] $manage_clusters_hba = false,
+  Boolean $backups = true,
+) {
   $clusters = $facts['postgresql_clusters']
   $clusters.each |$cluster| {
-    # Do not backup clusters that are replication targets,
-    # like the dak mirror or snapshot secondaries
-    if ! $cluster['status']['recovery'] {
-      postgres::backup_cluster { $::hostname:
-        pg_version => $cluster['version'],
-        pg_cluster => $cluster['cluster'],
-        pg_port    => $cluster['port'],
-      }
-    }
-  }
+    $version      = $cluster['version']
+    $cluster_name = $cluster['cluster']
+    $port         = $cluster['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,
+      backups    => $backups,
+    }
   }
 }