84 lines
2.9 KiB
YAML
84 lines
2.9 KiB
YAML
---
|
|
- name: Ensure DLP integrations directory
|
|
ansible.builtin.file:
|
|
path: /opt/activitywatch/dlp-integrations
|
|
state: directory
|
|
owner: "{{ aw_server_user | default('activitywatch') }}"
|
|
group: "{{ aw_server_group | default('activitywatch') }}"
|
|
mode: "0755"
|
|
|
|
- name: Copy DLP integrations files
|
|
ansible.builtin.copy:
|
|
src: "{{ playbook_dir }}/../aw-server/dlp-integrations/{{ item }}"
|
|
dest: "/opt/activitywatch/dlp-integrations/{{ item }}"
|
|
owner: "{{ aw_server_user | default('activitywatch') }}"
|
|
group: "{{ aw_server_group | default('activitywatch') }}"
|
|
mode: "0644"
|
|
loop:
|
|
- cef_exporter.py
|
|
- syslog_forwarder.py
|
|
- webhook_sender.py
|
|
- cef-config.yaml
|
|
- syslog-forwarder-config.yaml
|
|
- webhook-config.yaml
|
|
- requirements.txt
|
|
|
|
- name: Make DLP integrations scripts executable
|
|
ansible.builtin.file:
|
|
path: "/opt/activitywatch/dlp-integrations/{{ item }}"
|
|
owner: "{{ aw_server_user | default('activitywatch') }}"
|
|
group: "{{ aw_server_group | default('activitywatch') }}"
|
|
mode: "0755"
|
|
loop:
|
|
- cef_exporter.py
|
|
- syslog_forwarder.py
|
|
- webhook_sender.py
|
|
|
|
- name: Create venv for DLP integrations
|
|
ansible.builtin.command:
|
|
cmd: python3 -m venv /opt/activitywatch/dlp-integrations/.venv
|
|
args:
|
|
creates: /opt/activitywatch/dlp-integrations/.venv/bin/python
|
|
|
|
- name: Install Python dependencies for DLP integrations
|
|
ansible.builtin.pip:
|
|
requirements: /opt/activitywatch/dlp-integrations/requirements.txt
|
|
virtualenv: /opt/activitywatch/dlp-integrations/.venv
|
|
|
|
- name: Ensure integrations state directory
|
|
ansible.builtin.file:
|
|
path: /var/lib/activitywatch/dlp-integrations
|
|
state: directory
|
|
owner: "{{ aw_server_user | default('activitywatch') }}"
|
|
group: "{{ aw_server_group | default('activitywatch') }}"
|
|
mode: "0755"
|
|
|
|
- name: Install systemd units/timers for DLP integrations
|
|
ansible.builtin.copy:
|
|
src: "{{ playbook_dir }}/../aw-server/dlp-integrations/{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
loop:
|
|
- { src: "cef-exporter.service", dest: "/etc/systemd/system/aw-dlp-cef-exporter.service" }
|
|
- { src: "cef-exporter.timer", dest: "/etc/systemd/system/aw-dlp-cef-exporter.timer" }
|
|
- { src: "syslog-forwarder.service", dest: "/etc/systemd/system/aw-dlp-syslog-forwarder.service" }
|
|
- { src: "syslog-forwarder.timer", dest: "/etc/systemd/system/aw-dlp-syslog-forwarder.timer" }
|
|
- { src: "webhook-sender.service", dest: "/etc/systemd/system/aw-dlp-webhook-sender.service" }
|
|
- { src: "webhook-sender.timer", dest: "/etc/systemd/system/aw-dlp-webhook-sender.timer" }
|
|
|
|
- name: Reload systemd
|
|
ansible.builtin.systemd:
|
|
daemon_reload: true
|
|
|
|
- name: Enable and restart DLP integration timers
|
|
ansible.builtin.systemd:
|
|
name: "{{ item }}"
|
|
enabled: true
|
|
state: restarted
|
|
loop:
|
|
- aw-dlp-cef-exporter.timer
|
|
- aw-dlp-syslog-forwarder.timer
|
|
- aw-dlp-webhook-sender.timer
|