--- - 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