initial ansible code
This commit is contained in:
90
roles/rclone/tasks/main.yml
Normal file
90
roles/rclone/tasks/main.yml
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
|
||||
# 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: "Install rclone {{ rclone_version }}"
|
||||
apt:
|
||||
deb: "https://downloads.rclone.org/v{{ rclone_version }}/rclone-v{{ rclone_version }}-linux-{{ deb_architecture }}.deb"
|
||||
register: _install_package
|
||||
until: _install_package is succeeded
|
||||
retries: 3
|
||||
delay: 5
|
||||
|
||||
- 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:
|
||||
- DTSV_GD_service_account.json
|
||||
|
||||
- name: Copy config password script
|
||||
copy:
|
||||
src: set-rclone-password
|
||||
dest: ~/set-rclone-password
|
||||
mode: 0644
|
||||
Reference in New Issue
Block a user