qubes-apply
python script to automate qubes saltstack
git clone https://9o.is/git/qubes-apply.git
sys-sync.sls
(1489B)
1 {% set sshfs = salt['pillar.get']('sshfs-sync') %}
2
3 /rw/config/rc.local.d/10-rclone-log-setup.rc:
4 file.managed:
5 - mode: 0755
6 - makedirs: True
7 - contents: |
8 #!/bin/sh
9 mkdir -p /var/log/rclone
10 chown root:sftponly /var/log/rclone
11 chmod 775 /var/log/rclone
12
13 {% for name, user in sshfs.get('client', {}).items() %}
14
15 sys-sync-cloud-{{name}}:
16 {{ user.home }}/sync:
17 file.directory:
18 - user: {{ user.uid }}
19 - group: 1001
20 - makedirs: True
21 - onlyif: test -d {{ user.home }}/sync
22
23 /rw/config/rc.local.d/30-mount-rclone-{{name}}.rc:
24 file.managed:
25 - mode: 0755
26 - makedirs: True
27 - contents: |
28 #!/bin/sh
29 sudo -u sync-{{ name }} rclone mount \
30 sync:{{ name }} {{ user.home }}/sync \
31 --config=/rw/config/rclone/rclone.conf \
32 --cache-dir={{ user.home }}/.cache/rclone \
33 --log-file=/var/log/rclone/mount-{{name}}.log \
34 --uid {{ user.uid }} \
35 --gid 1001 \
36 --no-modtime \
37 --vfs-cache-mode=full \
38 --vfs-cache-min-free-space=1G \
39 --vfs-fast-fingerprint \
40 --vfs-used-is-size \
41 --vfs-cache-max-age=12w \
42 --dir-cache-time=12w \
43 --progress \
44 --stats=1m \
45 --stats-one-line-date \
46 --log-level=DEBUG \
47 --daemon & disown
48
49 {% endfor %}
50
51 ~user/.cache/rclone:
52 file.directory:
53 - user: user
54 - group: user
55 - mode: 0755
56 - makedirs: True