From 793fd7de741c196b3b70fe211faf43edf78df6fe Mon Sep 17 00:00:00 2001
From: Arthur BOUDREAULT <arthur@lydra.fr>
Date: Fri, 1 Jul 2022 16:46:30 +0200
Subject: [PATCH] Test 2

---
 roles/ynh_backup/defaults/main.yml | 25 ++++++++++---------
 roles/ynh_backup/tasks/borg.yml    | 39 ++++++++++++------------------
 roles/ynh_backup/tasks/main.yml    |  2 +-
 3 files changed, 31 insertions(+), 35 deletions(-)

diff --git a/roles/ynh_backup/defaults/main.yml b/roles/ynh_backup/defaults/main.yml
index 9b4d8ba..74815c2 100644
--- a/roles/ynh_backup/defaults/main.yml
+++ b/roles/ynh_backup/defaults/main.yml
@@ -29,14 +29,17 @@ ynh_backup:
   # 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 }}"
+ynh_borg_backup_scheduled: False
+ynh_borg_backup_remote_repo: False
+borg_source_directories:
+  - "/data/yunohost"
+borg_repository: "/data/backup/live"
+borg_init_command: "borgmatic init -c /etc/borgmatic/{{ borgmatic_config_name }} -e repokey --syslog-verbosity 1"
+borgmatic_config_name: "borgmatic_ynh_config"
+borg_encryption_passphrase: "PLEASECHANGEME"
+borg_retention_policy:
+  keep_daily: "4"
+  keep_weekly: "0"
+  keep_monthly: "0"
+borgmatic_cron_name: "borgmatic_ynh_cron"
+borg_archive_name_format: "'{hostname}-yunohost-live-data-{now:%Y-%m-%d-%H%M%S}'"
diff --git a/roles/ynh_backup/tasks/borg.yml b/roles/ynh_backup/tasks/borg.yml
index cca0b7d..7eb75dd 100644
--- a/roles/ynh_backup/tasks/borg.yml
+++ b/roles/ynh_backup/tasks/borg.yml
@@ -18,13 +18,16 @@
 #                                                                             #
 #-----------------------------------------------------------------------------#
 - name: Download BorgBackup role on localhost
-  local_action: ansible.builtin.command ansible-galaxy install -r requirements.yml
+  local_action:
+    module: ansible.builtin.command 
+    cmd: ansible-galaxy install -r requirements.yml
+  become: False
 
-- name: import BorgBackup role
+- name: run BorgBackup role
   ansible.builtin.import_role:
     name: m3nu.ansible_role_borgbackup
 
-- name: Configure host for Borg Remote repository
+- name: Configure host for Borg Remote repository #in README, need to tell that ssh pub/priv keys are necessary
   block:
     - name: deploy ssh public key for BorgBackup
       ansible.builtin.copy:
@@ -42,30 +45,20 @@
         group: "{{ admin_user }}"
         mode: 0600
 
-    - name: change ssh command in "/etc/borgmatic/{{ borgmatic_config_name }}"
+    - name: change SSH command in "/etc/borgmatic/{{ borgmatic_config_name }}"
       ansible.builtin.lineinfile:
         path: "/etc/borgmatic/{{ borgmatic_config_name }}"
         regexp: "# ssh_command: ssh -i ~/.ssh/id_ed25519"
         line: "    ssh_command: ssh -p 7410 -o StrictHostKeychecking=no -i {{ borg_ssh_keys_dest }}"
         state: present
+  when: ynh_borg_backup_remote_repo
 
-    - name: change archive name in "/etc/borgmatic/{{ borgmatic_config_name }}"
-      ansible.builtin.lineinfile:
-        path: "/etc/borgmatic/{{ borgmatic_config_name }}"
-        regexp: "archive_name_format:"
-        line: "    archive_name_format: {{ borg_archive_name_format }}"
-        state: present
-
-    - name: Create borg command in /usr/local/bin
-      ansible.builtin.copy:
-        content: |
-          #!/bin/bash
-          . /opt/borgmatic/bin/activate
-          borg "$@"
-        dest: /usr/local/bin/borg
-        owner: root
-        group: root
-        mode: "0755"
+- name: change archive name in "/etc/borgmatic/{{ borgmatic_config_name }}"
+  ansible.builtin.lineinfile:
+    path: "/etc/borgmatic/{{ borgmatic_config_name }}"
+    regexp: "archive_name_format:"
+    line: "    archive_name_format: {{ borg_archive_name_format }}"
+    state: present
 
-    - name: Initialize a new Borg remote repository
-      ansible.builtin.command: "{{ borg_init_command }}"
+- name: Initialize a new Borg remote repository
+  ansible.builtin.command: "{{ borg_init_command }}"
diff --git a/roles/ynh_backup/tasks/main.yml b/roles/ynh_backup/tasks/main.yml
index f6c157b..0ce0393 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_borg_backup.scheduled
+  when: ynh_borg_backup_scheduled
   tags:
     - backup
     - borg
-- 
GitLab