GoMatrixHosting v0.5.0pull/1124/head
| @@ -54,10 +54,6 @@ | |||||
| validate_certs: yes | validate_certs: yes | ||||
| tags: use-survey | tags: use-survey | ||||
| - name: Run export.sh if this job template is run by the client | |||||
| command: /bin/sh /root/export.sh | |||||
| tags: use-survey | |||||
| - name: Include vars in matrix_vars.yml | - name: Include vars in matrix_vars.yml | ||||
| include_vars: | include_vars: | ||||
| file: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/matrix_vars.yml' | file: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/matrix_vars.yml' | ||||
| @@ -70,8 +66,28 @@ | |||||
| mode: '0660' | mode: '0660' | ||||
| tags: use-survey | tags: use-survey | ||||
| - name: Perform the borg backup | |||||
| command: borgmatic | |||||
| - name: Run initial backup of /matrix/ and snapshot the database simultaneously | |||||
| command: "{{ item }}" | |||||
| with_items: | |||||
| - borgmatic -c /root/.config/borgmatic/config_1.yaml | |||||
| - /bin/sh /usr/local/bin/awx-export-service.sh 1 0 | |||||
| register: _create_instances | |||||
| async: 3600 # Maximum runtime in seconds. | |||||
| poll: 0 # Fire and continue (never poll) | |||||
| when: matrix_awx_backup_enabled|bool | |||||
| - name: Wait for both of these jobs to finish | |||||
| async_status: | |||||
| jid: "{{ item.ansible_job_id }}" | |||||
| register: _jobs | |||||
| until: _jobs.finished | |||||
| delay: 5 # Check every 5 seconds. | |||||
| retries: 720 # Retry for a full hour. | |||||
| with_items: "{{ _create_instances.results }}" | |||||
| when: matrix_awx_backup_enabled|bool | |||||
| - name: Perform borg backup of postgres dump | |||||
| command: borgmatic -c /root/.config/borgmatic/config_2.yaml | |||||
| when: matrix_awx_backup_enabled|bool | when: matrix_awx_backup_enabled|bool | ||||
| - name: Set boolean value to exit playbook | - name: Set boolean value to exit playbook | ||||
| @@ -0,0 +1,33 @@ | |||||
| - name: Run export of /matrix/ and snapshot the database simultaneously | |||||
| command: "{{ item }}" | |||||
| with_items: | |||||
| - /bin/sh /usr/local/bin/awx-export-service.sh 1 0 | |||||
| - /bin/sh /usr/local/bin/awx-export-service.sh 0 1 | |||||
| register: _create_instances | |||||
| async: 3600 # Maximum runtime in seconds. | |||||
| poll: 0 # Fire and continue (never poll) | |||||
| - name: Wait for both of these jobs to finish | |||||
| async_status: | |||||
| jid: "{{ item.ansible_job_id }}" | |||||
| register: _jobs | |||||
| until: _jobs.finished | |||||
| delay: 5 # Check every 5 seconds. | |||||
| retries: 720 # Retry for a full hour. | |||||
| with_items: "{{ _create_instances.results }}" | |||||
| - name: Schedule deletion of the export in 24 hours | |||||
| at: | |||||
| command: rm /chroot/export/matrix* | |||||
| count: 1 | |||||
| units: days | |||||
| unique: yes | |||||
| - name: Set boolean value to exit playbook | |||||
| set_fact: | |||||
| end_playbook: true | |||||
| - name: End playbook if this task list is called. | |||||
| meta: end_play | |||||
| when: end_playbook is defined and end_playbook|bool | |||||
| @@ -1,15 +1,4 @@ | |||||
| - name: Ensure /matrix/awx is empty | |||||
| shell: rm -r /matrix/awx/* | |||||
| ignore_errors: yes | |||||
| - name: Ensure /matrix/synapse is empty | |||||
| shell: rm -r /matrix/synapse/* | |||||
| ignore_errors: yes | |||||
| - name: Extract from /chroot/export | |||||
| shell: tar -xvzf /chroot/export/matrix.tar.gz -C /matrix/ | |||||
| - name: Ensure correct ownership of /matrix/awx | - name: Ensure correct ownership of /matrix/awx | ||||
| shell: chown -R matrix:matrix /matrix/awx | shell: chown -R matrix:matrix /matrix/awx | ||||
| @@ -25,6 +25,15 @@ | |||||
| when: run_setup|bool and matrix_awx_enabled|bool | when: run_setup|bool and matrix_awx_enabled|bool | ||||
| tags: | tags: | ||||
| - backup-server | - backup-server | ||||
| # Perform a export of the server | |||||
| - include_tasks: | |||||
| file: "export_server.yml" | |||||
| apply: | |||||
| tags: export-server | |||||
| when: run_setup|bool and matrix_awx_enabled|bool | |||||
| tags: | |||||
| - export-server | |||||
| # Create a user account if called | # Create a user account if called | ||||
| - include_tasks: | - include_tasks: | ||||