--- # Get latest Rclone version via downloads.rclone.org/version.txt - name: Check latest stable rclone version uri: url: https://downloads.rclone.org/version.txt return_content: true delegate_to: localhost run_once: true register: rclone_version - name: "{{ rclone_version.content }}" set_fact: rclone_version: "{{ rclone_version.content | replace ('rclone v', '', 1) | trim }}" run_once: true - name: Download rclone {{ rclone_version }} get_url: url: "https://downloads.rclone.org/v{{ rclone_version }}/\ rclone-v{{ rclone_version }}-linux-{{ deb_architecture }}.deb" dest: "/var/tmp/rclone.deb" register: _download_deb until: _download_deb is succeeded retries: 3 delay: 5 - name: Install rclone apt: deb: "/var/tmp/rclone.deb" - name: Symlink rclone binary to use mount helper file: src: "/usr/bin/rclone" dest: "/sbin/mount.rclone" state: link - name: Create rclone config directory file: path: "{{ rclone_config_dir }}" state: directory mode: 700 - name: Create rclone group group: name: "{{ rclone_system_group }}" state: present system: true register: created_rclone_group when: rclone_system_group != "root" - name: Create rclone user user: name: "{{ rclone_system_user }}" group: "{{ rclone_system_group }}" groups: "{{ rclone_system_group }}" append: true shell: /usr/sbin/nologin system: true create_home: false home: / register: created_rclone_user - name: adding existing user {{ main_user }} to group rclone user: name: "{{ main_user }}" groups: "{{ rclone_system_group }}" append: true - name: Create rclone cache/log directory file: path: "{{ item }}" mode: 0755 state: directory loop: - "{{ rclone_cache_dir }}" - "{{ rclone_log_dir }}" - name: Copy rclone logrotate file template: src: logrotate.rclone.j2 dest: /etc/logrotate.d/rclone mode: 0644 - name: Copy service account files copy: src: "{{ item }}" dest: "{{ rclone_config_dir }}/{{ item }}" mode: 0600 loop: - TD_DTSV_service_account.json - name: Copy config password script copy: src: set-rclone-password dest: ~/set-rclone-password mode: 0644