From 92d84783244480762003ab355e1293c906b2d22d Mon Sep 17 00:00:00 2001 From: Timo Makinen Date: Sun, 19 Sep 2021 17:08:43 +0000 Subject: [PATCH] Move rclone to own role --- roles/rclone/tasks/main.yml | 21 +++++++++++++++++++ roles/rclone/templates/rclone.conf.j2 | 10 +++++++++ roles/web-logs/tasks/main.yml | 29 ++++++--------------------- 3 files changed, 37 insertions(+), 23 deletions(-) create mode 100644 roles/rclone/tasks/main.yml create mode 100644 roles/rclone/templates/rclone.conf.j2 diff --git a/roles/rclone/tasks/main.yml b/roles/rclone/tasks/main.yml new file mode 100644 index 0000000..cc83f04 --- /dev/null +++ b/roles/rclone/tasks/main.yml @@ -0,0 +1,21 @@ +--- +- name: install packages + package: + name: rclone + state: installed + +- name: create config directory + file: + path: /etc/rclone + state: directory + mode: 0755 + owner: root + group: "{{ ansible_wheel }}" + +- name: create host config + template: + dest: /etc/rclone/rclone.conf + src: rclone.conf.j2 + mode: 0644 + owner: root + group: "{{ ansible_wheel }}" diff --git a/roles/rclone/templates/rclone.conf.j2 b/roles/rclone/templates/rclone.conf.j2 new file mode 100644 index 0000000..f394e1f --- /dev/null +++ b/roles/rclone/templates/rclone.conf.j2 @@ -0,0 +1,10 @@ + {{ ansible_managed }} +{% for host in groups[hostgroup] %} + +[{{ host.split('.')[0] }}] +type = sftp +host = {{ host }} +user = {{ remote_user }} +key_file = {{ private_key | default('~/.ssh/id_ed25519') }} +known_hosts_file = /etc/ssh/ssh_known_hosts +{% endfor %} diff --git a/roles/web-logs/tasks/main.yml b/roles/web-logs/tasks/main.yml index dee034b..db3ef06 100644 --- a/roles/web-logs/tasks/main.yml +++ b/roles/web-logs/tasks/main.yml @@ -1,11 +1,4 @@ --- -- name: install packages - package: - name: "{{ item }}" - state: installed - with_items: - - rclone - - name: create logsync group group: name: logsync @@ -21,6 +14,12 @@ shell: /sbin/nologin system: true +- import_role: + name: rclone + vars: + remote_user: logsync + hostgroup: webservers + - name: create data directories file: path: "{{ item }}" @@ -47,22 +46,6 @@ owner: root group: "{{ ansible_wheel }}" -- name: create config directory - file: - path: /etc/rclone - state: directory - mode: 0755 - owner: root - group: "{{ ansible_wheel }}" - -- name: create host config - template: - dest: /etc/rclone/rclone.conf - src: rclone.conf.j2 - mode: 0644 - owner: root - group: "{{ ansible_wheel }}" - - name: add log sync cron job cron: name: sync-http-logs