Move backup replication hba_entry to backup_cluster
[mirror/dsa-puppet.git] / modules / postgres / manifests / backup_server.pp
index 97fabc2..84f4c0d 100644 (file)
@@ -1,4 +1,4 @@
-
+# postgres backup server
 class postgres::backup_server {
   include postgres::backup_server::globals
 
@@ -44,41 +44,25 @@ class postgres::backup_server {
   #
   # do not let other hosts directly build our authorized_keys file,
   # instead go via a script that somewhat validates intput
-  file { '/etc/dsa/postgresql-backup':
-    ensure => 'directory',
-  }
-  file { '/usr/local/bin/postgres-make-backup-sshauthkeys':
-    content => template('postgres/backup_server/postgres-make-backup-sshauthkeys.erb'),
-    mode    => '0555',
-    notify  => Exec['postgres-make-backup-sshauthkeys'],
+  file { '/usr/local/bin/debbackup-ssh-wrap':
+    source => 'puppet:///modules/postgres/backup_server/debbackup-ssh-wrap',
+    mode   => '0555'
   }
   file { '/usr/local/bin/postgres-make-one-base-backup':
     source => 'puppet:///modules/postgres/backup_server/postgres-make-one-base-backup',
     mode   => '0555'
   }
-  file { '/etc/dsa/postgresql-backup/sshkeys-manual':
-    content => template('postgres/backup_server/sshkeys-manual.erb'),
-    notify  => Exec['postgres-make-backup-sshauthkeys'],
-  }
-  concat { $postgres::backup_server::globals::sshkeys_sources:
-    notify => Exec['postgres-make-backup-sshauthkeys'],
-  }
-  concat::fragment { 'postgresql-backup/source-sshkeys-header':
-    target  => $postgres::backup_server::globals::sshkeys_sources ,
-    content => @(EOF),
-        # <name> <ip addresses> <key>
-        | EOF
-    order   => '00',
-  }
-  Concat::Fragment <<| tag == $postgres::backup_server::globals::tag_source_sshkey |>>
-  exec { 'postgres-make-backup-sshauthkeys':
-    command     => '/usr/local/bin/postgres-make-backup-sshauthkeys',
-    refreshonly => true,
+  ssh::authorized_key_collect { 'postgres::backup_server':
+    target_user => $postgres::backup_server::globals::backup_unix_user,
+    collect_tag => $postgres::backup_server::globals::tag_source_sshkey,
   }
 
   ####
   # Maintain /etc/nagios/dsa-check-backuppg.conf
   #
+  file { '/etc/dsa/postgresql-backup':
+    ensure => 'directory',
+  }
   file { '/etc/dsa/postgresql-backup/dsa-check-backuppg.conf.d':
     ensure  => 'directory',
     purge   => true,
@@ -114,4 +98,18 @@ class postgres::backup_server {
     mode  => '0400'
   }
   Concat::Fragment <<| tag == $postgres::backup_server::globals::tag_source_pgpassline |>>
+
+  ####
+  # Let us connect to the clusters we want
+  #
+  # We export this, and the backup clients collect it
+  #
+  # this rule is only needed for clusters that we do not manage
+  # with postgres::cluster.  Hopefully these will go away with time
+  @@ferm::rule::simple { "pg-backup_server::${::fqdn}":
+    tag         => 'postgres::backup_server::to-client',
+    description => 'Allow access access from backup host',
+    chain       => 'pg-backup',
+    saddr       => $base::public_addresses,
+  }
 }