5fdabab331a7292feb08e9a2a547360f61c24a47
[mirror/dsa-puppet.git] / modules / postgres / manifests / backup_server / register_backup_cluster.pp
1 #
2 # Cause our pg backup servers to run base backups of
3 # this postgres cluster and add the cluster to the
4 # monitoring configuration.
5 #
6 # @param hostname     name of the db server
7 # @param fqdn         fqdn of the db server
8 # @param pg_port      port of the postgres cluster
9 # @param pg_role      replication role username
10 # @param pg_password  password of the replication role
11 # @param pg_cluster   cluster name
12 # @param pg_version   pg version of the cluster
13 define postgres::backup_server::register_backup_cluster (
14   Integer $pg_port,
15   String $pg_role,
16   String $pg_password,
17   String $pg_cluster,
18   String $pg_version,
19   String $hostname = $::hostname,
20   String $fqdn = $::fqdn,
21 ) {
22   include postgres::backup_server::globals
23
24   # foobar.debian.org:5432:*:debian-backup:swordfish
25   @@concat::fragment { "postgresql::server::backup-source-pgpassline::${hostname}::${pg_port}::${pg_role}":
26     target  => $postgres::backup_server::globals::pgpassfile,
27     content => @("EOF"),
28         ${fqdn}:${pg_port}:*:${pg_role}:${pg_password}
29         | EOF
30     tag     => $postgres::backup_server::globals::tag_source_pgpassline,
31   }
32   # example entry:
33   #   vittoria.debian.org  5432  debian-backup    main    9.6
34   @@concat::fragment { "postgresql::server::backup-source-make-base-backup-entry::${hostname}::${pg_port}::${pg_role}":
35     tag     => $postgres::backup_server::globals::tag_base_backup,
36     target  => $postgres::backup_server::globals::base_backup_clusters,
37     content => "${::fqdn} ${pg_port} ${pg_role} ${pg_cluster} ${pg_version}",
38   }
39
40   @@file { "/etc/dsa/postgresql-backup/dsa-check-backuppg.conf.d/${hostname}-${pg_cluster}.conf":
41     content => @("EOF"),
42         --- 
43         backups:
44           ${hostname}:
45             ${pg_cluster}:
46         | EOF
47     tag     => $postgres::backup_server::globals::tag_dsa_check_backupp,
48     notify  => Exec['update dsa-check-backuppg-manual.conf']
49   }
50 }