From 5b1190c6bf803cd8360d405232d26f39d26df629 Mon Sep 17 00:00:00 2001
From: Arthur BOUDREAULT <arthur@lydra.fr>
Date: Fri, 1 Jul 2022 15:19:47 +0200
Subject: [PATCH] WIP to test

---
 roles/ynh_backup/defaults/main.yml | 12 ++++++++++++
 roles/ynh_backup/meta/main.yml     | 24 ++++++++++++------------
 roles/ynh_backup/requirements.yml  |  5 +++++
 roles/ynh_backup/tasks/borg.yml    |  6 ++++++
 roles/ynh_backup/tasks/main.yml    |  2 +-
 5 files changed, 36 insertions(+), 13 deletions(-)
 create mode 100644 roles/ynh_backup/requirements.yml

diff --git a/roles/ynh_backup/defaults/main.yml b/roles/ynh_backup/defaults/main.yml
index 27500a4..9b4d8ba 100644
--- a/roles/ynh_backup/defaults/main.yml
+++ b/roles/ynh_backup/defaults/main.yml
@@ -28,3 +28,15 @@ ynh_backup:
   # scheduled_month: "*"
   # system: True
   # apps: True
+
+ynh_borg_backup:
+  scheduled: False
+  # borg_source_directories: "{{ borg_ynh_src_dir }}"
+  # borg_repository: "{{ borg_ynh_remote_repo }}"
+  # borgmatic_config_name: "{{ borgmatic_conf_name }}"
+  # borg_encryption_passphrase: "{{ borg_remote_repo_encryption_passphrase }}"
+  # borg_retention_policy:
+  #   keep_daily: "{{ borg_days_to_keep }}"
+  #   keep_weekly: "{{ borg_weeks_to_keep }}"
+  #   keep_monthly: "{{ borg_months_to_keep }}"
+  # borgmatic_cron_name: "{{ borgmatic_ynh_cron_name }}"
diff --git a/roles/ynh_backup/meta/main.yml b/roles/ynh_backup/meta/main.yml
index 2f1c019..54c1439 100644
--- a/roles/ynh_backup/meta/main.yml
+++ b/roles/ynh_backup/meta/main.yml
@@ -15,15 +15,15 @@ galaxy_info:
     - cloud
     - web
 
-dependencies:
-  - role: m3nu.ansible_role_borgbackup
-    vars:
-      borg_source_directories: "{{ borg_ynh_src_dir }}"
-      borg_repository: "{{ borg_ynh_remote_repo }}"
-      borgmatic_config_name: "{{ borgmatic_conf_name }}"
-      borg_encryption_passphrase: "{{ borg_remote_repo_encryption_passphrase }}"
-      borg_retention_policy:
-        keep_daily: "{{ borg_days_to_keep }}"
-        keep_weekly: "{{ borg_weeks_to_keep }}"
-        keep_monthly: "{{ borg_months_to_keep }}"
-      borgmatic_cron_name: "{{ borgmatic_ynh_cron_name }}"
+dependencies: []
+  # - role: m3nu.ansible_role_borgbackup
+  #   vars:
+  #     borg_source_directories: "{{ borg_ynh_src_dir }}"
+  #     borg_repository: "{{ borg_ynh_remote_repo }}"
+  #     borgmatic_config_name: "{{ borgmatic_conf_name }}"
+  #     borg_encryption_passphrase: "{{ borg_remote_repo_encryption_passphrase }}"
+  #     borg_retention_policy:
+  #       keep_daily: "{{ borg_days_to_keep }}"
+  #       keep_weekly: "{{ borg_weeks_to_keep }}"
+  #       keep_monthly: "{{ borg_months_to_keep }}"
+  #     borgmatic_cron_name: "{{ borgmatic_ynh_cron_name }}"
diff --git a/roles/ynh_backup/requirements.yml b/roles/ynh_backup/requirements.yml
new file mode 100644
index 0000000..6bd1ed6
--- /dev/null
+++ b/roles/ynh_backup/requirements.yml
@@ -0,0 +1,5 @@
+---
+# from Ansible Galaxy
+roles:
+  - src: m3nu.ansible_role_borgbackup
+    version: v0.9.0
diff --git a/roles/ynh_backup/tasks/borg.yml b/roles/ynh_backup/tasks/borg.yml
index 051dae6..cca0b7d 100644
--- a/roles/ynh_backup/tasks/borg.yml
+++ b/roles/ynh_backup/tasks/borg.yml
@@ -17,6 +17,12 @@
 # along with this program. If not, see <http://www.gnu.org/licenses/>.        #
 #                                                                             #
 #-----------------------------------------------------------------------------#
+- name: Download BorgBackup role on localhost
+  local_action: ansible.builtin.command ansible-galaxy install -r requirements.yml
+
+- name: import BorgBackup role
+  ansible.builtin.import_role:
+    name: m3nu.ansible_role_borgbackup
 
 - name: Configure host for Borg Remote repository
   block:
diff --git a/roles/ynh_backup/tasks/main.yml b/roles/ynh_backup/tasks/main.yml
index 5486d4e..f6c157b 100644
--- a/roles/ynh_backup/tasks/main.yml
+++ b/roles/ynh_backup/tasks/main.yml
@@ -26,7 +26,7 @@
 
 - name: Use Borg Backup with YunoHost
   ansible.builtin.include_tasks: borg.yml
-  when: ynh_backup.scheduled
+  when: ynh_borg_backup.scheduled
   tags:
     - backup
     - borg
-- 
GitLab