From e64a267ff3844960e03963c2bd72d236e25e903c Mon Sep 17 00:00:00 2001 From: Tobias Reisinger Date: Wed, 20 Dec 2023 02:31:31 +0100 Subject: [PATCH] Refactor the backup tasks into smaller files --- roles/backup/tasks/backup.d.yml | 16 +++++++++ roles/backup/tasks/docker.yml | 12 +++++++ roles/backup/tasks/main.yml | 60 ++++----------------------------- roles/backup/tasks/systemd.yml | 20 +++++++++++ 4 files changed, 55 insertions(+), 53 deletions(-) create mode 100644 roles/backup/tasks/backup.d.yml create mode 100644 roles/backup/tasks/docker.yml create mode 100644 roles/backup/tasks/systemd.yml diff --git a/roles/backup/tasks/backup.d.yml b/roles/backup/tasks/backup.d.yml new file mode 100644 index 0000000..fb28870 --- /dev/null +++ b/roles/backup/tasks/backup.d.yml @@ -0,0 +1,16 @@ +--- +- name: Set backup.d path + ansible.builtin.set_fact: + backup_d_path: "{{ (service_path, 'backup.d') | path_join }}" +- name: Create backup.d directory + ansible.builtin.file: + path: "{{ backup_d_path }}" + state: directory + mode: "0755" +- name: Copy the additional backup scripts + ansible.builtin.copy: + src: "{{ item }}" + dest: "{{ backup_d_path }}" + mode: "0755" + with_fileglob: + - "{{ ansible_facts.hostname }}/*" diff --git a/roles/backup/tasks/docker.yml b/roles/backup/tasks/docker.yml new file mode 100644 index 0000000..f5ae9f2 --- /dev/null +++ b/roles/backup/tasks/docker.yml @@ -0,0 +1,12 @@ +--- +- name: Copy the Dockerfile + ansible.builtin.copy: + src: Dockerfile + dest: "{{ (service_path, 'Dockerfile') | path_join }}" + mode: "0644" + register: cmd_result + +- name: Set the docker rebuild flag + ansible.builtin.set_fact: + docker_rebuild: true + when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables. diff --git a/roles/backup/tasks/main.yml b/roles/backup/tasks/main.yml index 8595089..c165ce5 100644 --- a/roles/backup/tasks/main.yml +++ b/roles/backup/tasks/main.yml @@ -11,64 +11,18 @@ - name: Import prepare tasks for common service ansible.builtin.import_tasks: tasks/prepare-common-service.yml - - name: Copy the Dockerfile - ansible.builtin.copy: - src: Dockerfile - dest: "{{ (service_path, 'Dockerfile') | path_join }}" - mode: "0644" - register: cmd_result - - - name: Set the docker rebuild flag - ansible.builtin.set_fact: - docker_rebuild: true - when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables. - - - name: Set backup.d path - ansible.builtin.set_fact: - backup_d_path: "{{ (service_path, 'backup.d') | path_join }}" - - - name: Create backup.d directory - ansible.builtin.file: - path: "{{ backup_d_path }}" - state: directory - mode: "0755" - - - name: Copy the additional backup scripts - ansible.builtin.copy: - src: "{{ item }}" - dest: "{{ backup_d_path }}" - mode: "0755" - with_fileglob: - - "{{ ansible_facts.hostname }}/*" - - - name: Copy the main backup scripts + - name: Copy the main backup script ansible.builtin.template: src: "backup.sh.j2" dest: "{{ (service_path, 'backup.sh') | path_join }}" mode: "0755" - - name: Copy the system service - ansible.builtin.template: - src: backup.service.j2 - dest: /etc/systemd/system/backup.service - mode: "0644" - become: true - - name: Copy the system timer - ansible.builtin.copy: - src: backup.timer - dest: /etc/systemd/system/backup.timer - mode: "0644" - become: true - - name: Enable the system timer - ansible.builtin.systemd_service: - name: backup.timer - state: started - enabled: true - daemon_reload: true - become: true - - - name: Import tasks create a service.env file - ansible.builtin.import_tasks: tasks/steps/template-service-env.yml + - name: Import tasks specific to docker + ansible.builtin.import_tasks: docker.yml + - name: Import tasks specific to the backup.d scripts + ansible.builtin.import_tasks: backup.d.yml + - name: Import tasks specific to systemd + ansible.builtin.import_tasks: systemd.yml - name: Build service ansible.builtin.command: diff --git a/roles/backup/tasks/systemd.yml b/roles/backup/tasks/systemd.yml new file mode 100644 index 0000000..4efcbd6 --- /dev/null +++ b/roles/backup/tasks/systemd.yml @@ -0,0 +1,20 @@ +--- +- name: Copy the system service + ansible.builtin.template: + src: backup.service.j2 + dest: /etc/systemd/system/backup.service + mode: "0644" + become: true +- name: Copy the system timer + ansible.builtin.copy: + src: backup.timer + dest: /etc/systemd/system/backup.timer + mode: "0644" + become: true +- name: Enable the system timer + ansible.builtin.systemd_service: + name: backup.timer + state: started + enabled: true + daemon_reload: true + become: true