Newer
Older
---
- name: "BACKUP | USER | set user «{{ backup_user }}»"
ansible.builtin.user:
groups: backup
name: "{{ backup_user }}"
shell: "{{ user_shell }}"
state: present
uid: 1001
- name: "BACKUP | USER | ssh dir presence for «{{ backup_user }}»"
ansible.builtin.file:
group: "{{ backup_user }}"
mode: 0740
owner: "{{ backup_user }}"
path: "/home/{{ backup_user }}/.ssh/"
state: directory
- name: "BACKUP | USER | ssh config for «{{ backup_user }}»"
ansible.builtin.template:
dest: "/home/{{ backup_user }}/.ssh/config"
group: "{{ backup_user }}"
mode: 0640
owner: "{{ backup_user }}"
- name: BACKUP | ZFS | parent destination dataset
when: inventory_hostname in groups.zfs
community.general.zfs:
name: zp0/bkp
state: present
extra_zfs_properties:
mountpoint: none
compression: lz4
- name: "BACKUP | ZFS | allow commands for «{{ backup_user }}»"
community.general.zfs_delegate_admin:
name: zp0/bkp
users: "{{ backup_user }}"
permissions: receive,hold,release
- name: BACKUP | ZFS | children destination datasets (production)
when: inventory_hostname in groups.zfs
loop: "{{ groups['production'] }}"
vars:
server_properties:
- key: "autobackup:bkp_{{ hostvars[item]['inventory_hostname'] }}"
value: true
- key: mountpoint
value: "/home/{{ backup_user }}/repo/{{ hostvars[item]['inventory_hostname'] }}"
- key: sharenfs
value: "ro={{ hostvars[item]['ansible_host'] }}"
- key: "src:fqdn"
value: "{{ hostvars[item]['inventory_fqdn'] }}"
- key: "src:ip"
value: "{{ hostvars[item]['ansible_host'] }}"
properties: "{{ server_properties | items2dict }}"
community.general.zfs:
name: "zp0/bkp/{{ hostvars[item]['inventory_hostname'] }}"
state: present
- name: BACKUP | ZFS | children destination datasets (station)
when: inventory_hostname in groups.zfs
loop: "{{ groups['station'] }}"
vars:
server_properties:
- key: "autobackup:bkp_{{ hostvars[item]['inventory_hostname'] }}"
- key: mountpoint
value: "/home/{{ backup_user }}/repo/{{ hostvars[item]['inventory_hostname'] }}"
- key: sharenfs
value: "ro={{ hostvars[item]['ansible_host'] }}"
- key: "src:fqdn"
value: "{{ hostvars[item]['inventory_fqdn'] }}"
- key: "src:ip"
value: "{{ hostvars[item]['ansible_host'] }}"
properties: "{{ server_properties | items2dict }}"
name: "zp0/bkp/{{ hostvars[item]['inventory_hostname'] }}"