computer-playbook/roles/backup-docker-to-local/tasks/main.yml

83 lines
2.9 KiB
YAML
Raw Normal View History

2024-01-06 13:13:30 +01:00
- name: install required software
2023-08-07 23:02:22 +02:00
community.general.pacman:
name:
- lsof
- python-pandas
2024-01-06 13:13:30 +01:00
- jq
2023-08-07 23:02:22 +02:00
state: present
when: run_once_backup_docker_to_local is not defined
2022-01-23 22:01:21 +01:00
2023-11-16 17:07:28 +01:00
- name: pull backup-docker-to-local.git
2020-12-24 14:27:31 +01:00
git:
2023-11-16 17:07:28 +01:00
repo: "https://github.com/kevinveenbirkenbach/backup-docker-to-local.git"
2023-11-17 12:35:39 +01:00
dest: "{{backup_docker_to_local_folder}}"
2020-12-24 14:27:31 +01:00
update: yes
ignore_errors: true
when: run_once_backup_docker_to_local is not defined
- name: configure backup-docker-to-local-everything.service
template:
src: backup-docker-to-local-everything.service.j2
dest: /etc/systemd/system/backup-docker-to-local-everything.service
notify: reload backup-docker-to-local-everything.service
when: run_once_backup_docker_to_local is not defined
2023-11-16 17:07:28 +01:00
- name: configure backup-docker-to-local.service
2023-04-15 17:06:10 +02:00
template:
2023-11-16 17:07:28 +01:00
src: backup-docker-to-local.service.j2
dest: /etc/systemd/system/backup-docker-to-local.service
notify: reload backup-docker-to-local.service
when: run_once_backup_docker_to_local is not defined
2020-12-24 14:27:31 +01:00
2024-01-04 13:27:07 +01:00
- name: set service_name to the name of the current role
set_fact:
service_name: "{{ role_name }}"
when: run_once_backup_docker_to_local is not defined
- name: "include role for systemd-timer for {{service_name}}"
include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_backup_docker_to_local}}"
when: run_once_backup_docker_to_local is not defined
2022-01-23 21:43:05 +01:00
- name: "reset {{ backup_docker_to_local_folder }}databases.csv"
file:
path: "{{ backup_docker_to_local_folder }}databases.csv"
state: absent
when: reset_files | bool and run_once_backup_docker_to_local is not defined
- name: seed database values
command:
2024-01-06 14:32:49 +01:00
cmd: "python database_entry_seeder.py databases.csv {{database_instance}} {{database_name}} {{database_username}} {{database_password}}"
chdir: "{{backup_docker_to_local_folder}}"
when: >
database_host is defined or
2024-01-06 14:32:49 +01:00
database_name is defined or
database_username is defined or
database_password is defined
- name: Set file permissions for databases.csv to be readable, writable, and executable by root only
ansible.builtin.file:
path: "{{ backup_docker_to_local_folder }}databases.csv"
mode: '0700'
2022-01-23 21:43:05 +01:00
owner: root
group: root
when: >
(database_host is defined or
2024-01-06 14:32:49 +01:00
database_name is defined or
database_username is defined or
database_password is defined) and
run_once_backup_docker_to_local_file_permission is not defined
register: file_permission_result
- name: run the backup_docker_to_local_file_permission tasks once
set_fact:
run_once_backup_docker_to_local_file_permission: true
when: run_once_backup_docker_to_local_file_permission is not defined and file_permission_result is defined and file_permission_result.changed
- name: run the backup_docker_to_local tasks once
set_fact:
run_once_backup_docker_to_local: true
when: run_once_backup_docker_to_local is not defined