--- # https://wiki.csclub.uwaterloo.ca/Mirror # # may want to split this into multiple files # # right now we will just take configs from mirror # later we will edit them as required # # user should running this as root:root # so unsure if need to set owner:group for files/dirs # # unsure that hosts does - hosts: 127.0.0.1 tasks: - name: install dependencies apt: pkg: - zfsutils-linux - rsync - nginx - proftpd state: latest update_cache: true state: started - name: create zfs mountpoint file: path: /mirror/root/.cscmirror state: directory owner: root group: root mode: 0777 recurse: yes - name: create and mount zpool # double check this works (and produces the correct result) # may be better to use the /dev/disk/by-id/... instead commmand: zpool create -f -m /mirror/root/.cscmirror cscmirror raidz2 /dev/vdc /dev/vdd /dev/vde /dev/vdf # may need to mount it (also check that it will automount on boot) # zfs mount -a - name: enable and start rsync daemon systemd: name: rsync enabled: true state: started - name: add rsync config template: src: rsync/rsyncd.conf.j2 dest: /etc/rsyncd.conf owner: root group: root mode: 0644 template: src: rsync/rsyncd-filter.conf.j2 dest: /etc/rsyncd-filter.conf owner: root group: root mode: 0644 notify: restart rsync