59 lines
1.5 KiB
YAML
59 lines
1.5 KiB
YAML
---
|
|
# 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
|
|
|