ansible/roles/web-logs/tasks/main.yml

80 lines
1.5 KiB
YAML

---
- name: install packages
package:
name: "{{ item }}"
state: installed
with_items:
- rclone
- name: create logsync group
group:
name: logsync
system: true
- name: create logsync user
user:
name: logsync
comment: Service logsync
createhome: false
group: logsync
home: /var/empty
shell: /sbin/nologin
system: true
- name: create ssh known_hosts
template:
dest: /etc/ssh/ssh_known_hosts
src: ssh_known_hosts.j2
mode: 0644
owner: root
group: "{{ ansible_wheel }}"
- name: create data directories
file:
path: "{{ item }}"
state: directory
mode: 0750
owner: logsync
group: logsync
with_items:
- /var/cache/sync-http-logs
- name: create log directory
file:
path: /var/log/rclone
state: directory
mode: 0750
owner: logsync
group: "{{ ansible_wheel }}"
- name: copy logsync script
copy:
dest: /usr/local/bin/sync-http-logs
src: sync-http-logs.sh
mode: 0755
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
user: logsync
hour: "3"
minute: "0"
job: /usr/local/bin/sync-http-logs