--- - name: setup backup installation folder file: state: directory path: "{{ backup_inst }}" owner: "{{ backup_owner }}" group: "{{ backup_group }}" mode: "0750" - name: install dateutil library service apt: update_cache: yes state: "{% if cloud_update | bool %}latest{% else %}present{% endif %}" install_recommends: yes pkg: python3-dateutil - name: setup filter program for backup pruning copy: src: opt/backup/filter_backups.py dest: "{{ backup_inst }}/filter_backups.py" owner: "{{ backup_owner }}" group: "{{ backup_group }}" mode: "0750" - name: setup ssh public keys of clients copy: content: "{{ backup_clients[item].sshpubkey }}" dest: "{{ backup_home }}/.ssh/{{ item }}.pub" owner: "{{ backup_owner }}" group: "{{ backup_group }}" mode: "0600" loop: "{{ backup_clients.keys() }}" - name: setup ssh private keys of clients copy: content: "{{ backup_clients[item].sshprivkey }}" dest: "{{ backup_home }}/.ssh/{{ item }}" owner: "{{ backup_owner }}" group: "{{ backup_group }}" mode: "0600" loop: "{{ backup_clients.keys() }}" - name: setup ssh config of clients template: src: "home/backup/.ssh/config.j2" dest: "{{ backup_home }}/.ssh/config" owner: "{{ backup_owner }}" group: "{{ backup_group }}" mode: "0600" - name: setup backup key folder file: state: directory path: "{{ backup_key_folder }}" owner: "{{ backup_owner }}" group: "{{ backup_group }}" mode: "0700" - name: setup borg repository keys copy: content: "{{ backup_clients[item].borgkey }}" dest: "{{ backup_key_folder }}/{{ backup_clients[item].app }}" owner: "{{ backup_owner }}" group: "{{ backup_group }}" mode: "0600" loop: "{{ backup_clients.keys() }}" - name: setup borg server script template: src: "opt/backup/inst/cloud-server-backup.j2" dest: "{{ backup_inst }}/cloud-server-backup" owner: "{{ backup_owner }}" group: "{{ backup_group }}" mode: "0750"