diff --git a/tasks/backup.yml b/tasks/backup.yml index d04a9a3..086d27d 100644 --- a/tasks/backup.yml +++ b/tasks/backup.yml @@ -1,11 +1,11 @@ --- -- name: reformat dict if necessary +- name: (BACKUP) reformat dict if necessary set_fact: restic_backups: "{{ restic_backups|dict2items|json_query('[*].value') }}" when: - restic_backups | type_debug == "dict" -- name: Create backup credentials +- name: (BACKUP) Create backup credentials template: src: restic_access_Linux.j2 dest: "{{ restic_script_dir }}/access-{{ item.name | replace(' ', '') }}.sh" @@ -20,7 +20,7 @@ - item.src is defined or item.stdin and item.stdin_cmd is defined - item.repo in restic_repos -- name: Create backup script +- name: (BACKUP) Create backup script template: src: restic_script_Linux.j2 dest: "{{ restic_script_dir }}/backup-{{ item.name | replace(' ', '') }}.sh" diff --git a/tasks/configure.yml b/tasks/configure.yml index 88217b5..bce46b8 100644 --- a/tasks/configure.yml +++ b/tasks/configure.yml @@ -1,5 +1,5 @@ --- -- name: Initialize repository +- name: (CONF)Initialize repository command: '{{ restic_install_path }}/restic init' environment: RESTIC_REPOSITORY: '{{ item.value.location }}' diff --git a/tasks/delete_legacy_cron_entry.yml b/tasks/delete_legacy_cron_entry.yml index c6f20ef..780fab4 100644 --- a/tasks/delete_legacy_cron_entry.yml +++ b/tasks/delete_legacy_cron_entry.yml @@ -1,5 +1,5 @@ --- -- name: "check if ansible version is under 2.12.0" +- name: "(SCHEDULE) (OLD) check if ansible version is under 2.12.0" ansible.builtin.assert: that: - "ansible_version.full is version_compare('2.12.0', '<')" @@ -7,7 +7,7 @@ success_msg: "Congratulations. You are using ansible version {{ ansible_version.full }}" delegate_to: localhost -- name: try to remove entries from /etc/crontab +- name: (SCHEDULE) (OLD) try to remove entries from /etc/crontab ansible.builtin.cron: name: "do1jlr.restic backup {{ item.name }}" job: "CRON=true {{ restic_script_dir }}/backup-{{ item.name | replace(' ', '') }}.sh" @@ -29,7 +29,7 @@ ignore_error: true register: cron_delete -- name: "make sure 'do1jlr.restic backup {{ item.name }}' is not in /etc/crontab" +- name: "(SCHEDULE) (OLD) make sure 'do1jlr.restic backup {{ item.name }}' is not in /etc/crontab" become: true ansible.builtin.lineinfile: path: '/etc/crontab' @@ -38,7 +38,7 @@ when: cron_delete.failed with_items: '{{ restic_backups }}' -- name: "make sure '{{ restic_script_dir }}/backup-{{ item.name | replace(' ', '') }}.sh' is not in /etc/crontab" +- name: "(SCHEDULE) (OLD) make sure '{{ restic_script_dir }}/backup-{{ item.name | replace(' ', '') }}.sh' is not in /etc/crontab" become: true ansible.builtin.lineinfile: path: '/etc/crontab' diff --git a/tasks/distribution/Windows.yml b/tasks/distribution/Windows.yml index 719e017..a412054 100644 --- a/tasks/distribution/Windows.yml +++ b/tasks/distribution/Windows.yml @@ -2,5 +2,5 @@ # tasks file for skeleton - name: Message - debug: + ansible.builtin.fail: msg: 'Your {{ ansible_system }} is not yet supported' diff --git a/tasks/install.yml b/tasks/install.yml index 3aab83f..e2cbb80 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -1,8 +1,8 @@ --- -- name: install and verify restic binary +- name: (INSTALL) install and verify restic binary become: true block: - - name: Download client binary + - name: (INSTALL) Download client binary ansible.builtin.get_url: url: '{{ restic_url }}' dest: '{{ restic_download_path }}/restic.bz2' @@ -10,43 +10,43 @@ register: get_url_restic # TODO: This needs to become independent of the shell module to actually work - - name: Decompress the binary + - name: (INSTALL) Decompress the binary ansible.builtin.shell: "bzip2 -dc {{ get_url_restic.dest }} > {{ restic_bin_bath }}" args: creates: '{{ restic_download_path }}/bin/restic-{{ restic_version }}' - - name: Ensure permissions are correct + - name: (INSTALL) Ensure permissions are correct ansible.builtin.file: path: '{{ restic_download_path }}/bin/restic-{{ restic_version }}' mode: '0755' owner: '{{ restic_dir_owner }}' group: '{{ restic_dir_group }}' - - name: Test the binary + - name: (INSTALL) Test the binary ansible.builtin.command: "{{ restic_bin_bath }} version" ignore_errors: true register: restic_test_result - - name: Remove faulty binary + - name: (INSTALL) Remove faulty binary ansible.builtin.file: path: '{{ restic_bin_bath }}' state: absent when: "'FAILED' in restic_test_result.stderr" - - name: Fail if restic could not be installed + - name: (INSTALL) Fail if restic could not be installed ansible.builtin.fail: msg: >- Restic binary has been faulty and has been removed. Try to re-run the role and make sure you have bzip2 installed! when: "'FAILED' in restic_test_result.stderr" - - name: Create symbolic link to the correct version + - name: (INSTALL) Create symbolic link to the correct version ansible.builtin.file: src: '{{ restic_download_path }}/bin/restic-{{ restic_version }}' path: '{{ restic_install_path }}/restic' state: link force: true rescue: - - name: try restic self-update + - name: (INSTALL) try restic self-update become: true ansible.builtin.command: "{{ restic_install_path }}/restic self-update" diff --git a/tasks/preperation.yml b/tasks/preperation.yml index 508ca7f..6b48b6e 100644 --- a/tasks/preperation.yml +++ b/tasks/preperation.yml @@ -1,5 +1,5 @@ --- -- name: Ensure restic directories exist +- name: (PREPARE) Ensure restic directories exist become: true ansible.builtin.file: state: 'directory' @@ -9,12 +9,12 @@ group: '{{ restic_dir_group }}' with_items: '{{ restic_create_paths }}' -- name: Check if downloaded binary is present +- name: (PREPARE) Check if downloaded binary is present ansible.builtin.stat: path: '{{ restic_download_path }}/bin/restic-{{ restic_version }}' register: restic_executable -- name: Check if installed binary is present +- name: (PREPARE) Check if installed binary is present ansible.builtin.stat: path: '{{ restic_install_path }}/restic' register: restic_installed diff --git a/tasks/restic_create_cron.yml b/tasks/restic_create_cron.yml index 6f63526..28e6102 100644 --- a/tasks/restic_create_cron.yml +++ b/tasks/restic_create_cron.yml @@ -1,5 +1,5 @@ --- -- name: install restic backup cronjob +- name: (SCHEDULE) (CRON) install restic backup cronjob ansible.builtin.cron: name: "do1jlr.restic backup {{ item.name }}" job: "CRON=true {{ restic_script_dir }}/backup-{{ item.name | replace(' ', '') }}.sh" diff --git a/tasks/restic_create_systemd.yml b/tasks/restic_create_systemd.yml index 009c2bb..2f31889 100644 --- a/tasks/restic_create_systemd.yml +++ b/tasks/restic_create_systemd.yml @@ -1,7 +1,7 @@ --- -- name: create systemd timer +- name: (SCHEDULE) (SYSTEMD) create systemd timer block: - - name: copy systemd timer + - name: (SCHEDULE) (SYSTEMD) copy systemd timer become: true ansible.builtin.template: src: templates/restic.timer.j2 @@ -16,7 +16,7 @@ - item.name is defined - item.scheduled | default(false) - - name: copy systemd service + - name: (SCHEDULE) (SYSTEMD) copy systemd service become: true ansible.builtin.template: src: templates/restic.service.j2 @@ -30,7 +30,7 @@ - item.name is defined - item.scheduled | default(false) - - name: Enable restic service + - name: (SCHEDULE) (SYSTEMD) Enable restic service become: true ansible.builtin.systemd: name: "restic-{{ item.name | replace(' ', '') | string }}.service" @@ -43,7 +43,7 @@ - item.name is defined - item.scheduled | default(false) - - name: Enable and start restic timer + - name: (SCHEDULE) (SYSTEMD) Enable and start restic timer become: true ansible.builtin.systemd: name: "restic-{{ item.name | replace(' ', '') | string }}.timer" diff --git a/tasks/restic_delete_cron.yml b/tasks/restic_delete_cron.yml index 8378171..d8d6095 100644 --- a/tasks/restic_delete_cron.yml +++ b/tasks/restic_delete_cron.yml @@ -1,5 +1,5 @@ --- -- name: remove restic backup cronjob +- name: (SCHEDULE) (CRON) remove restic backup cronjob ansible.builtin.cron: name: "do1jlr.restic backup {{ item.name }}" job: "CRON=true {{ restic_script_dir }}/backup-{{ item.name | replace(' ', '') }}.sh" diff --git a/tasks/restic_delete_systemd.yml b/tasks/restic_delete_systemd.yml index dec3363..4bf62ab 100644 --- a/tasks/restic_delete_systemd.yml +++ b/tasks/restic_delete_systemd.yml @@ -1,7 +1,7 @@ --- -- name: remove systemd timer +- name: (SCHEDULE) (SYSTEMD) remove systemd timer block: - - name: mask restic timer + - name: (SCHEDULE) (SYSTEMD) mask restic timer become: true ansible.builtin.systemd: name: "restic-{{ item.name | replace(' ', '') | string }}.timer" @@ -18,7 +18,7 @@ - item.scheduled | default(false) - restic_schedule_type == "cronjob" or restic_force_cron | default(false) - - name: mask restic service + - name: (SCHEDULE) (SYSTEMD) mask restic service become: true ansible.builtin.systemd: name: "restic-{{ item.name | replace(' ', '') | string }}.service" @@ -35,7 +35,7 @@ failed_when: false changed_when: false - - name: delete systemd .timer file + - name: (SCHEDULE) (SYSTEMD) delete systemd .timer file become: true ansible.builtin.file: path: "/lib/systemd/system/restic-{{ item.name | replace(' ', '') }}.timer" @@ -46,7 +46,7 @@ - item.scheduled | default(false) - restic_schedule_type == "cronjob" or restic_force_cron | default(false) - - name: delete systemd .service file + - name: (SCHEDULE) (SYSTEMD) delete systemd .service file become: true ansible.builtin.file: path: "/lib/systemd/system/restic-{{ item.name | replace(' ', '') }}.service" diff --git a/tasks/schedule.yml b/tasks/schedule.yml index 3b4eda3..185a572 100644 --- a/tasks/schedule.yml +++ b/tasks/schedule.yml @@ -1,29 +1,29 @@ --- -- name: create restic systemd timer +- name: (SCHEDULE) create restic systemd timer ansible.builtin.include_tasks: restic_create_systemd.yml when: - ansible_service_mgr == 'systemd' - restic_schedule_type == "systemd" - restic_create_schedule | bool -- name: delete systemd timers if available +- name: (SCHEDULE) delete systemd timers if available ansible.builtin.include_tasks: restic_delete_systemd.yml when: - ansible_service_mgr == 'systemd' - restic_schedule_type == "cronjob" or restic_force_cron | default(false) - restic_create_schedule | bool -- name: delete old cron entry from previous versions of this role +- name: (SCHEDULE) delete old cron entry from previous versions of this role ansible.builtin.include_tasks: delete_legacy_cron_entry.yml when: restic_do_not_cleanup_cron | bool -- name: install restic via cronjob +- name: (SCHEDULE) install restic via cronjob ansible.builtin.include_tasks: restic_create_cron.yml when: - restic_create_schedule | bool - ansible_service_mgr != 'systemd' or restic_force_cron | default(false) or restic_schedule_type == "cronjob" -- name: remove restic cronjobs +- name: (SCHEDULE) remove restic cronjobs ansible.builtin.include_tasks: restic_delete_cron.yml when: - restic_create_schedule | bool diff --git a/vars/main.yml b/vars/main.yml index b9cc149..c7e5ec8 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -10,5 +10,5 @@ restic_os_variables: paths: - 'vars' -playbook_version_number: 21 # should be int +playbook_version_number: 22 # should be int playbook_version_path: 'do1jlr.restic.version'