# # postgresql server role # # @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| { $version = $cluster['version'] $cluster_name = $cluster['cluster'] $port = $cluster['port'] 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, } } }