X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=environments%2Fproduction%2Fmanifests%2Fpostgres-primary.pp;h=16248a6cb9dbcb44963923f9a89d19acb6ad4589;hb=95266f6237df2334741f3ce60050618259452ed4;hp=c1f015aa7425f3af8522dd693916abf944f88ca1;hpb=a5d122b99b89ba755fd0932dd35c82babd2d31bb;p=infra.git diff --git a/environments/production/manifests/postgres-primary.pp b/environments/production/manifests/postgres-primary.pp index c1f015a..16248a6 100644 --- a/environments/production/manifests/postgres-primary.pp +++ b/environments/production/manifests/postgres-primary.pp @@ -2,17 +2,31 @@ node postgres-primary { include container::contained include container::no_ssh + exec { 'backup installed': + before => Package['postgresql'], + notify => Exec['backup permissions corrected'], + command => '! [ -f /var/lib/postgresql/9.6/main/PG_VERSION ] && mkdir -p /var/lib/postgresql/9.6/main && tar xzf /var/lib/postgresql/pg_base.tar.gz -C /var/lib/postgresql/9.6/main', + onlyif => '[ -f /var/lib/postgresql/pg_base.tar.gz ]', + provider => 'shell' + } package{ 'postgresql': ensure => 'installed', install_options => ['--no-install-recommends'], - } - + }-> class { 'postgresql::globals': version => '9.6', }-> class { 'postgresql::server': listen_addresses => '*', - } -> + } + exec { 'backup permissions corrected': + require => Class['postgresql::server::install'], + before => Class['postgresql::server::initdb'], + command => 'chown -R postgres:postgres /var/lib/postgresql && rm /var/lib/postgresql/pg_base.tar.gz', + onlyif => '[ -f /var/lib/postgresql/pg_base.tar.gz ]', + refreshonly => 'true', + provider => 'shell' + } postgresql::server::db { 'gigi': require => Package['postgresql'], user => 'gigi', @@ -30,7 +44,7 @@ node postgres-primary { } postgresql::server::db { 'quiz': - require => Class['postgresql::server'], + require => Exec['backup installed'], user => 'quiz', password => postgresql_password('quiz', $passwords[postgres][quiz]), } @@ -55,6 +69,7 @@ node postgres-primary { value => 'on' } file{'/var/lib/postgresql/archive/': + require => Exec['backup permissions corrected'], ensure => 'directory', owner => 'postgres' } -> @@ -66,4 +81,10 @@ node postgres-primary { target => '/etc/postgresql/9.6/main/postgresql.conf', value => 'replica' } + postgresql_conf{'max_wal_senders': + target => '/etc/postgresql/9.6/main/postgresql.conf', + value => '2' + } + Postgresql::Server::Db <| tag == primary |> + Postgresql::Server::Pg_hba_rule <| tag == primary |> }