switch salsa db to postgres::backup_cluster
authorPeter Palfrader <peter@palfrader.org>
Fri, 1 Sep 2017 17:26:25 +0000 (17:26 +0000)
committerPeter Palfrader <peter@palfrader.org>
Fri, 1 Sep 2017 17:26:25 +0000 (17:26 +0000)
modules/postgres/manifests/backup_cluster.pp
modules/postgres/manifests/backup_source.pp
modules/salsa/manifests/database.pp

index 83edaf1..989b93a 100644 (file)
@@ -9,8 +9,6 @@ define postgres::backup_cluster(
        $do_role = false,
        $do_hba = false,
 ) {
-       warning("foo ${backup_servers}")
-
        $datadir = "/var/lib/postgresql/${pg_version}/${pg_cluster}"
        file { "${datadir}/.nobackup":
                content  => ""
@@ -45,7 +43,7 @@ define postgres::backup_cluster(
                rule        => "&SERVICE_RANGE(tcp, ${pg_port}, ( @ipfilter((${backup_servers_addrs_joined})) ))",
        }
 
-       postgres::backup_server::register_backup_cluster { "backup-role-${::fqdn}}-${::pg_port}":
+       postgres::backup_server::register_backup_cluster { "backup-role-${::fqdn}}-${pg_port}":
                pg_port => $pg_port,
                pg_role => $db_backup_role,
                pg_password => $db_backup_role_password,
index be48b37..7bc0684 100644 (file)
@@ -24,7 +24,9 @@ class postgres::backup_source {
                postgres::backup_cluster { $::hostname:
                        pg_version => '9.6',
                }
+       }
 
+       if $::hostname in [melartin, godard] {
                postgres::backup_server::register_backup_clienthost { "backup-clienthost-${::fqdn}}":
                }
        }
index 0806531..ba3d173 100644 (file)
@@ -41,48 +41,10 @@ class salsa::database inherits salsa {
                }
        }
 
-       $datadir = assert_type(String[1], $postgresql::params::datadir)
-       warning("foo ")
-       file { "${datadir}/.nobackup":
-               content  => ""
+       postgres::backup_cluster { $::hostname:
+               pg_version => $postgresql::params::version,
+               pg_port => $postgresql::params::port,
+               do_role => true,
+               do_hba => true,
        }
-       if $::postgresql_key {
-               $ipaddr = assert_type(String[1], join(getfromhash($site::nodeinfo, 'ldap', 'ipHostNumber'), ","))
-
-               @@concat::fragment { "onion::balance::instance::dsa-snippet::$name::$fqdn":
-                       target  => "/etc/dsa/postgresql-backup/sshkeys-sources",
-                       content  => @("EOF"),
-                                       ${::hostname} ${ipaddr} ${::postgresql_key}
-                                       | EOF
-                       tag     => "postgresql::server::backup-source-sshkey",
-               }
-       }
-
-       $db_backup_role = 'debian-backup'
-       $db_backup_role_password = hkdf('/etc/puppet/secret', "postgresql-${::hostname}-${postgresql::params::port}-backup_role}")
-
-       # XXX - get these from the roles and ldap
-       $db_backup_hosts = ['5.153.231.12/32', '93.94.130.161/32', '2001:41c8:1000:21::21:12/128', '2a02:158:380:280::161/128']
-
-       postgresql::server::role { $db_backup_role:
-               password_hash => postgresql_password($db_backup_role, $db_backup_role_password),
-               replication => true,
-       }
-       $db_backup_hosts.each |String $address| {
-               postgresql::server::pg_hba_rule { "debian_backup-${address}":
-                       description => 'Open up PostgreSQL for backups',
-                       type        => 'hostssl',
-                       database    => 'replication',
-                       user        => $db_backup_role,
-                       address     => $address,
-                       auth_method => 'md5',
-               }
-       }
-       @ferm::rule { "dsa-postgres-${postgresql::params::port}":
-               description => 'Allow postgress access from backup host',
-               domain      => '(ip ip6)',
-               rule        => "&SERVICE_RANGE(tcp, ${postgresql::params::port}, ( @ipfilter(\$HOST_PGBACKUPHOST) ))",
-       }
-
-       # add cluster to make-base-backups
 }