From 63154a827754cd6e9d2b7471025d7e467af83e2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com>
Date: Tue, 3 Aug 2021 12:28:09 +0200
Subject: [PATCH] [IMP] add cache and update hostname

---
 tasks/main.yml            | 6 +++---
 templates/backup.yaml.j2  | 6 ++++--
 templates/backup2.yaml.j2 | 6 ++++--
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/tasks/main.yml b/tasks/main.yml
index bb30bd9..7bf8598 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -45,9 +45,9 @@
     mode: '0400'
   when: inventory_hostname in groups['maintenance_contract']
 
-- name: Copy docker file for mysql duplicity
-  copy:
-    src: ../docker_nextcloud/files/Dockerfile-backup
+- name: Get docker file for mysql duplicity from docker_nextcloud role
+  get_url:
+    url: "https://sources.le-filament.com/lefilament/ansible-roles/docker_nextcloud/-/raw/master/files/Dockerfile-backup"
     dest: /home/docker/backups/Dockerfile-mysql
     owner: root
     group: root
diff --git a/templates/backup.yaml.j2 b/templates/backup.yaml.j2
index 4408415..5446b63 100644
--- a/templates/backup.yaml.j2
+++ b/templates/backup.yaml.j2
@@ -5,7 +5,7 @@ services:
             context: .
             dockerfile: Dockerfile-mysql
         image: filament/duplicity:mysql
-        hostname: backup-tuleap
+        hostname: {{ inventory_hostname_short | lower | regex_replace('_','') }}-tuleap
         environment:
             DST: "swift://tuleap_{{ inventory_hostname|lower }}"
             MYSQL_DATABASE: "tuleap"
@@ -20,12 +20,13 @@ services:
             SWIFT_TENANTNAME: "{{ swift_odoo_tenantname }}"
             SWIFT_TENANTID: "{{ swift_odoo_tenantid }}"
             SWIFT_REGIONNAME: "{{ swift_odoo_regionname }}"
-            JOB_300_WHAT: "backup --full-if-older-than 7D"
+            JOB_300_WHAT: "mysqldump -h $$MYSQL_HOST -u $$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE --result-file='$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql' && backup --full-if-older-than 6D && rm '$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql'"
             JOB_301_WHAT: "dup remove-all-inc-of-but-n-full 1 --force $$DST $$@"
             JOB_301_WHEN: "daily"
             JOB_302_WHAT: "dup remove-all-but-n-full 5 --force $$DST $$@"
             JOB_302_WHEN: "daily"
         volumes:
+            - tuleap_backup_cache:/root/.cache/duplicity/
             - tuleap_data:/mnt/backup/src/tuleap:z
         networks:
             - tuleap_default
@@ -41,5 +42,6 @@ networks:
             encrypted: 1
 
 volumes:
+    tuleap_backup2_cache:
     tuleap_data:
         external: true
diff --git a/templates/backup2.yaml.j2 b/templates/backup2.yaml.j2
index 4d790f4..8b48196 100644
--- a/templates/backup2.yaml.j2
+++ b/templates/backup2.yaml.j2
@@ -5,7 +5,7 @@ services:
             context: .
             dockerfile: Dockerfile-mysql
         image: filament/duplicity:mysql
-        hostname: backup-tuleap
+        hostname: {{ inventory_hostname_short | lower | regex_replace('_','') }}-tuleap
         environment:
             DST: "swift://tuleap_{{ inventory_hostname|lower }}"
             MYSQL_DATABASE: "tuleap"
@@ -20,12 +20,13 @@ services:
             SWIFT_TENANTNAME: "{{ swift_odoo2_tenantname }}"
             SWIFT_TENANTID: "{{ swift_odoo2_tenantid }}"
             SWIFT_REGIONNAME: "{{ swift_odoo2_regionname }}"
-            JOB_300_WHAT: "backup --full-if-older-than 7D"
+            JOB_300_WHAT: "mysqldump -h $$MYSQL_HOST -u $$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE --result-file='$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql' && backup --full-if-older-than 6D && rm '$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql'"
             JOB_301_WHAT: "dup remove-all-inc-of-but-n-full 1 --force $$DST $$@"
             JOB_301_WHEN: "daily"
             JOB_302_WHAT: "dup remove-all-but-n-full 5 --force $$DST $$@"
             JOB_302_WHEN: "daily"
         volumes:
+            - tuleap_backup2_cache:/root/.cache/duplicity/
             - tuleap_data:/mnt/backup/src/tuleap:z
         networks:
             - tuleap_default
@@ -41,5 +42,6 @@ networks:
             encrypted: 1
 
 volumes:
+    tuleap_backup2_cache:
     tuleap_data:
         external: true
-- 
GitLab