X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fsalsa%2Fmanifests%2Fdatabase.pp;h=32a53a716fd4ff9669af4102fdac32d013612137;hb=c43bec4c2fa69c7eb22711ad90f71643803ef040;hp=b363b7928c80e7177c340533d6d504be18afb11b;hpb=872979e8aae8f604651cbc9fb2c07c5c22245714;p=mirror%2Fdsa-puppet.git diff --git a/modules/salsa/manifests/database.pp b/modules/salsa/manifests/database.pp index b363b7928..32a53a716 100644 --- a/modules/salsa/manifests/database.pp +++ b/modules/salsa/manifests/database.pp @@ -18,21 +18,34 @@ class salsa::database inherits salsa { require => Class['postgresql::server::contrib'], } - include postgres::backup_source - $datadir = assert_type(String[1], $postgresql::params::datadir) - warning("foo ") - file { "${datadir}/.nobackup": - content => "" - } - 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", + $pg_config_options = { + 'track_counts' => 'yes', + 'archive_mode' => 'yes', + 'wal_level' => 'archive', + 'max_wal_senders' => '3', + 'archive_timeout' => '1h', + 'archive_command' => '/usr/local/bin/pg-backup-file main WAL %p', + 'ssl' => 'on', + 'ssl_cert_file' => '/etc/ssl/debian/certs/thishost-server.crt', + 'ssl_key_file' => '/etc/ssl/private/thishost-server.key', + } + $pg_config_options.each |String $key, String $value| { + postgresql_conf { $key: + value => $value, + target => $postgresql::params::postgresql_conf_path, + notify => Service['postgresqld'], } } + + ferm::rule::simple { "pgport": + description => "check access to pg port", + port => $postgresql::params::port, + target => "pg-${postgresql::params::port}", + } + postgres::backup_cluster { $::hostname: + pg_version => $postgresql::params::version, + pg_port => $postgresql::params::port, + do_role => true, + do_hba => true, + } }