feat(dlp): implement case management service and DLP Review integration
This commit is contained in:
@@ -305,6 +305,9 @@
|
||||
AW_DLP_POLICY_ENGINE_BIND_HOST={{ aw_dlp_policy_engine_bind_host }}
|
||||
AW_DLP_POLICY_ENGINE_PORT={{ aw_dlp_policy_engine_port }}
|
||||
AW_DLP_POLICY_ENGINE_DB_PATH={{ aw_dlp_policy_engine_db_path }}
|
||||
AW_DLP_CASE_BIND_HOST={{ aw_dlp_case_bind_host }}
|
||||
AW_DLP_CASE_PORT={{ aw_dlp_case_port }}
|
||||
AW_DLP_CASE_DB_PATH={{ aw_dlp_case_db_path }}
|
||||
XDG_DATA_HOME={{ aw_server_data_dir }}/.local/share
|
||||
XDG_CONFIG_HOME={{ aw_server_data_dir }}/.config
|
||||
|
||||
@@ -478,6 +481,59 @@
|
||||
mode: "0644"
|
||||
when: aw_dlp_integrations_enabled | default(true) | bool
|
||||
|
||||
- name: Создать каталог DLP case management
|
||||
ansible.builtin.file:
|
||||
path: /opt/activitywatch/dlp-case-management
|
||||
state: directory
|
||||
owner: "{{ aw_server_user }}"
|
||||
group: "{{ aw_server_group }}"
|
||||
mode: "0755"
|
||||
when: aw_dlp_case_management_enabled | default(true) | bool
|
||||
|
||||
- name: Скопировать файлы DLP case management
|
||||
ansible.builtin.copy:
|
||||
src: "{{ aw_repo_root }}/aw-server/dlp-case-management/{{ item }}"
|
||||
dest: "/opt/activitywatch/dlp-case-management/{{ item }}"
|
||||
owner: "{{ aw_server_user }}"
|
||||
group: "{{ aw_server_group }}"
|
||||
mode: "0644"
|
||||
loop:
|
||||
- case_service.py
|
||||
- case_schema.py
|
||||
- case_storage.py
|
||||
- requirements.txt
|
||||
when: aw_dlp_case_management_enabled | default(true) | bool
|
||||
|
||||
- name: Выставить executable для case_service
|
||||
ansible.builtin.file:
|
||||
path: /opt/activitywatch/dlp-case-management/case_service.py
|
||||
owner: "{{ aw_server_user }}"
|
||||
group: "{{ aw_server_group }}"
|
||||
mode: "0755"
|
||||
when: aw_dlp_case_management_enabled | default(true) | bool
|
||||
|
||||
- name: Создать virtualenv DLP case management
|
||||
ansible.builtin.command:
|
||||
cmd: python3 -m venv /opt/activitywatch/dlp-case-management/.venv
|
||||
args:
|
||||
creates: /opt/activitywatch/dlp-case-management/.venv/bin/python
|
||||
when: aw_dlp_case_management_enabled | default(true) | bool
|
||||
|
||||
- name: Установить зависимости DLP case management
|
||||
ansible.builtin.pip:
|
||||
requirements: /opt/activitywatch/dlp-case-management/requirements.txt
|
||||
virtualenv: /opt/activitywatch/dlp-case-management/.venv
|
||||
when: aw_dlp_case_management_enabled | default(true) | bool
|
||||
|
||||
- name: Установить systemd unit DLP case management
|
||||
ansible.builtin.copy:
|
||||
src: "{{ aw_repo_root }}/aw-server/dlp-case-management/case-service.service"
|
||||
dest: /etc/systemd/system/aw-dlp-case-management.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
when: aw_dlp_case_management_enabled | default(true) | bool
|
||||
|
||||
- name: Установить скрипт AW worktime API
|
||||
ansible.builtin.copy:
|
||||
src: "{{ aw_repo_root }}/aw-server/aw-worktime-api.py"
|
||||
@@ -575,6 +631,13 @@
|
||||
state: restarted
|
||||
when: aw_dlp_integrations_enabled | default(true) | bool
|
||||
|
||||
- name: Включить и перезапустить DLP case management
|
||||
ansible.builtin.systemd:
|
||||
name: aw-dlp-case-management.service
|
||||
enabled: true
|
||||
state: restarted
|
||||
when: aw_dlp_case_management_enabled | default(true) | bool
|
||||
|
||||
- name: Включить и перезапустить AW worktime API
|
||||
ansible.builtin.systemd:
|
||||
name: aw-worktime-api.service
|
||||
|
||||
@@ -10,3 +10,4 @@
|
||||
- role: dlp-policy-engine
|
||||
- role: dlp-content-analysis
|
||||
- role: dlp-integrations
|
||||
- role: dlp-case-management
|
||||
|
||||
@@ -42,4 +42,8 @@ aw_dlp_policy_engine_port: 5601
|
||||
aw_dlp_policy_engine_db_path: "{{ aw_server_data_dir }}/dlp-policy-engine.sqlite"
|
||||
aw_dlp_content_analysis_enabled: true
|
||||
aw_dlp_integrations_enabled: true
|
||||
aw_dlp_case_management_enabled: true
|
||||
aw_dlp_case_bind_host: "0.0.0.0"
|
||||
aw_dlp_case_port: 5602
|
||||
aw_dlp_case_db_path: "/opt/activitywatch/dlp-case-management/cases.db"
|
||||
aw_server_post_deploy_health_check_enabled: true
|
||||
|
||||
@@ -33,6 +33,10 @@ aw_dlp_policy_engine_port: 5601
|
||||
aw_dlp_policy_engine_db_path: "{{ aw_server_data_dir }}/dlp-policy-engine.sqlite"
|
||||
aw_dlp_content_analysis_enabled: true
|
||||
aw_dlp_integrations_enabled: true
|
||||
aw_dlp_case_management_enabled: true
|
||||
aw_dlp_case_bind_host: "0.0.0.0"
|
||||
aw_dlp_case_port: 5602
|
||||
aw_dlp_case_db_path: "/opt/activitywatch/dlp-case-management/cases.db"
|
||||
aw_server_post_deploy_health_check_enabled: true
|
||||
|
||||
aw_worktime_from: "08:00"
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
- name: Ensure DLP case management directory
|
||||
ansible.builtin.file:
|
||||
path: /opt/activitywatch/dlp-case-management
|
||||
state: directory
|
||||
owner: "{{ aw_server_user | default('activitywatch') }}"
|
||||
group: "{{ aw_server_group | default('activitywatch') }}"
|
||||
mode: "0755"
|
||||
|
||||
- name: Copy DLP case management files
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/../aw-server/dlp-case-management/{{ item }}"
|
||||
dest: "/opt/activitywatch/dlp-case-management/{{ item }}"
|
||||
owner: "{{ aw_server_user | default('activitywatch') }}"
|
||||
group: "{{ aw_server_group | default('activitywatch') }}"
|
||||
mode: "0644"
|
||||
loop:
|
||||
- case_service.py
|
||||
- case_schema.py
|
||||
- case_storage.py
|
||||
- requirements.txt
|
||||
|
||||
- name: Make case service executable
|
||||
ansible.builtin.file:
|
||||
path: /opt/activitywatch/dlp-case-management/case_service.py
|
||||
owner: "{{ aw_server_user | default('activitywatch') }}"
|
||||
group: "{{ aw_server_group | default('activitywatch') }}"
|
||||
mode: "0755"
|
||||
|
||||
- name: Create venv for DLP case management
|
||||
ansible.builtin.command:
|
||||
cmd: python3 -m venv /opt/activitywatch/dlp-case-management/.venv
|
||||
args:
|
||||
creates: /opt/activitywatch/dlp-case-management/.venv/bin/python
|
||||
|
||||
- name: Install Python dependencies for DLP case management
|
||||
ansible.builtin.pip:
|
||||
requirements: /opt/activitywatch/dlp-case-management/requirements.txt
|
||||
virtualenv: /opt/activitywatch/dlp-case-management/.venv
|
||||
|
||||
- name: Install systemd unit DLP case management
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/../aw-server/dlp-case-management/case-service.service"
|
||||
dest: /etc/systemd/system/aw-dlp-case-management.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
|
||||
- name: Reload systemd and restart DLP case management
|
||||
ansible.builtin.systemd:
|
||||
name: aw-dlp-case-management.service
|
||||
daemon_reload: true
|
||||
enabled: true
|
||||
state: restarted
|
||||
Reference in New Issue
Block a user