--- - name: Install Required Packages become: true ansible.builtin.package: name: - ca-certificates - apt-transport-https - software-properties-common - curl - wget - logrotate - libcapture-tiny-perl - libconfig-inifiles-perl - moreutils state: present - name: Create Sanoid Directory become: true ansible.builtin.file: path: "{{ item }}" state: directory owner: root group: root recurse: true with_items: - /usr/local/bin - /etc/sanoid - name: Install Sanoid Binary become: true ansible.builtin.get_url: url: https://raw.githubusercontent.com/jimsalterjrs/sanoid/master/sanoid dest: /usr/local/bin/sanoid owner: root group: root mode: 0755 - name: Install Sanoid Defaults Configuration become: true ansible.builtin.get_url: url: https://raw.githubusercontent.com/jimsalterjrs/sanoid/master/sanoid.defaults.conf dest: /etc/sanoid/sanoid.defaults.conf owner: root group: root mode: 0644 - name: Generate Sanoid Configuration become: true ansible.builtin.template: src: sanoid.conf.j2 dest: /etc/sanoid/sanoid.conf owner: root group: root mode: 0644 - name: Create Sanoid Log become: true ansible.builtin.file: path: /var/log/sanoid-cron.log state: touch owner: root group: root mode: 0644 access_time: preserve modification_time: preserve - name: copy logrotate config become: yes ansible.builtin.template: src: logrotate_sanoid dest: /etc/logrotate.d/sanoid owner: root group: root mode: 0644 - name: Generate Sanoid Cron Scripts become: true ansible.builtin.template: src: sanoid-cron.sh dest: /usr/local/bin/sanoid-cron.sh owner: root group: root mode: 0755 - name: Configure Sanoid Cron Job become: true ansible.builtin.cron: name: sanoid-cron job: /usr/local/bin/sanoid-cron.sh minute: "{{ sanoid_cron_minutes }}" hour: "{{ sanoid_cron_hours }}" user: root state: present