X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fsalsa%2Fmanifests%2Fdatabase.pp;h=24647a3b1151046bfa41dfd6aa50b1f2d74be8c7;hb=7ca975698c14415282e911881890b3b7d8f8dc68;hp=0d22449dc21ab9f73c2bad133ec8bb3ca68684ac;hpb=36bafb5f949db870d4cd4c25acab30c75abd3254;p=mirror%2Fdsa-puppet.git diff --git a/modules/salsa/manifests/database.pp b/modules/salsa/manifests/database.pp index 0d22449dc..24647a3b1 100644 --- a/modules/salsa/manifests/database.pp +++ b/modules/salsa/manifests/database.pp @@ -1,7 +1,12 @@ # class salsa::database inherits salsa { - include postgresql::server - ensure_packages ( "postgresql-contrib-9.6", { ensure => 'installed' }) + class { 'postgresql::globals': + version => '9.6', + } + class { 'postgresql::server': + listen_addresses => '*', + } + class { 'postgresql::server::contrib': } postgresql::server::db { $salsa::db_name: user => $salsa::db_role, @@ -10,11 +15,36 @@ class salsa::database inherits salsa { postgresql::server::extension { 'pg_trgm': database => $salsa::db_name, - require => Package['postgresql-contrib-9.6'], + require => Class['postgresql::server::contrib'], } - # XXX set up backups - file { "/var/lib/postgresql/9.6/main/.nobackup": - content => "" + $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'], + } + } + + include postgres::backup_source + + postgres::backup_cluster { $::hostname: + pg_version => $postgresql::params::version, + pg_port => $postgresql::params::port, + do_role => true, + do_hba => true, + } + + include postgres::backup_server::register_backup_clienthost }