]> git.immae.eu Git - github/fretlink/ansible-postgresql-role.git/commitdiff
standby: rsync from barman is optional if SSH access is already here
authorPaul B <paul@bonaud.fr>
Fri, 28 Dec 2018 14:30:13 +0000 (15:30 +0100)
committerPaul Bonaud <paul.bonaud@fretlink.com>
Fri, 28 Dec 2018 17:23:19 +0000 (18:23 +0100)
defaults/main.yml
tasks/postgres-standby-barman.yml
templates/standby-clone.sh.j2

index 59db66262d2de778d6d0f849536a1a6d82a2775d..190ce5f82653209018014532f2d819e27620950f 100644 (file)
@@ -6,6 +6,7 @@ postgres_clusters: []
 # postgres_log_dir: ~
 # postgres_pgbadger_server: ~
 postgres_backup_enabled: false
+postgres_barman_rsync_enabled: false
 #------------------------------------------------------------#
 #------------ Postgresql Configuration defaults -------------#
 #- WARNING: defaults can change with major version upgrades -#
index 793b94271b41ed54fdfd0c1de63678f5e16ab74a..65e87a6f87edc2d324e3cc076428dbe15e691e13 100644 (file)
@@ -10,3 +10,4 @@
     group: postgres
     mode: 0400
   no_log: True
+  when: postgres_barman_rsync_enabled
index 3486342b4dce528f12bf6f7f5fd33142aeb6f7b8..16a693029b1ea79135a01572c2299d7812ace345 100755 (executable)
@@ -1,6 +1,8 @@
 #!/bin/bash
 # {{ ansible_managed }}
 
+set -eo pipefail
+
 BARMAN_DATABASE=$1
 BARMAN_BACKUP_VERSION=$2
 
@@ -17,7 +19,7 @@ echo "accept key if necessary"
 sudo -u postgres ssh barman@{{ postgres_barman_server }} echo ""
 
 echo Stopping PostgreSQL
-pg_ctlcluster {{ postgres_version }} {{ postgres_cluster_name }} stop
+pg_ctlcluster {{ postgres_version }} {{ postgres_cluster_name }} stop || true
 
 echo Cleaning up old cluster directory
 sudo -u postgres mv /var/lib/postgresql/{{ postgres_version }}/{{ postgres_cluster_name }}{,_$BACKUP_DATE}
@@ -28,8 +30,10 @@ sudo -u postgres mkdir -p /var/lib/postgresql/{{ postgres_version }}/{{ postgres
 echo Get previous backup from backups server
 sudo -u postgres \
   time rsync --progress -pvia --exclude='*.conf' --exclude='server.crt' --exclude='server.key' --delete \
+{% if postgres_barman_rsync_enabled|default(false) -%}
   --password-file=/var/lib/postgresql/.rsync_pass \
-  rsync://barman@{{ postgres_barman_server }}/backups/$BARMAN_DATABASE/base/$BARMAN_BACKUP_VERSION/data/ \
+{%- endif %}
+  {% if postgres_barman_rsync_enabled|default(false) -%}rsync://{%- endif -%}barman@{{ postgres_barman_server }}{%- if postgres_barman_rsync_enabled|default(false) -%}/backups{%- else -%}:~{%- endif -%}/$BARMAN_DATABASE/base/$BARMAN_BACKUP_VERSION/data/ \
   /var/lib/postgresql/{{ postgres_version }}/{{ postgres_cluster_name }}/
 
 echo Restoring .conf and server certificate