--- - name: include user tasks include_tasks: user.yml - 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 - debhelper - pv - lzop - mbuffer - build-essential state: present - name: Create Sanoid Directory become: true ansible.builtin.file: path: "{{ item }}" state: directory owner: "{{ sanoid_user }}" group: "{{ sanoid_user_group }}" recurse: true with_items: - /etc/sanoid - name: Install Sanoid Binary become: true ansible.builtin.get_url: url: "{{ sanoid_dl_url }}" dest: /usr/local/bin/sanoid owner: "{{ sanoid_user }}" group: "{{ sanoid_user_group }}" mode: 0755 - name: Install Sanoid Defaults Configuration become: true ansible.builtin.get_url: url: "{{ sanoid_dl_conf_url }}" dest: /etc/sanoid/sanoid.defaults.conf owner: "{{ sanoid_user }}" group: "{{ sanoid_user_group }}" mode: 0644 - name: Generate Sanoid Configuration become: true ansible.builtin.template: src: sanoid.conf.j2 dest: /etc/sanoid/sanoid.conf owner: "{{ sanoid_user }}" group: "{{ sanoid_user_group }}" mode: 0644 - name: template sanoid.service become: yes ansible.builtin.template: src: sanoid.service.j2 dest: /etc/systemd/system/sanoid.service owner: root group: root mode: 0644 notify: - systemctl daemon-reload - name: template sanoid_mail.service become: yes ansible.builtin.template: src: sanoid_mail.service.j2 dest: /etc/systemd/system/sanoid_mail.service owner: root group: root mode: 0644 notify: - systemctl daemon-reload - name: template sanoid.timer become: yes ansible.builtin.template: src: sanoid.timer.j2 dest: /etc/systemd/system/sanoid.timer owner: root group: root mode: 0644 notify: - systemctl daemon-reload - name: systemctl start sanoid.timer become: yes ansible.builtin.systemd: name: sanoid.timer state: started enabled: yes # remove old!!! - name: Create Sanoid Log become: true ansible.builtin.file: path: "{{ sanoid_log_file }}" state: absent - name: copy logrotate config become: yes ansible.builtin.file: state: absent path: /etc/logrotate.d/sanoid - name: Generate Sanoid Cron Scripts become: true ansible.builtin.file: state: absent path: /usr/local/bin/sanoid-cron.sh - 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: "{{ sanoid_user }}" state: absent