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