This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 537d7c474d13a5faddaad523f5bf0d4f3beed6c4
Author: Marcus Christie <[email protected]>
AuthorDate: Tue Apr 18 13:01:40 2023 -0400

    AIRAVATA-3694 Ansible scripts to configure user data archive
---
 dev-tools/ansible/roles/django/defaults/main.yml                  | 7 ++++++-
 dev-tools/ansible/roles/django/tasks/main.yml                     | 8 ++++++++
 .../ansible/roles/django/templates/archive_user_data.cron.j2      | 5 +++++
 dev-tools/ansible/roles/django/templates/settings_local.py.j2     | 6 ++++++
 4 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/dev-tools/ansible/roles/django/defaults/main.yml 
b/dev-tools/ansible/roles/django/defaults/main.yml
index 882a3bc4c7..329fa6f212 100644
--- a/dev-tools/ansible/roles/django/defaults/main.yml
+++ b/dev-tools/ansible/roles/django/defaults/main.yml
@@ -40,6 +40,11 @@ httpd_log_dir:
  Debian: /var/log/apache2
  RedHat: /var/log/httpd
 
+# User data archive related variables
+django_user_data_archive_max_age_days:
+django_user_data_archive_directory: "/tmp"
+django_user_data_archive_minimum_archive_size_gb: 1
+
 django_vhost_template: "django-vhost.conf.j2"
 django_ssl_vhost_template: "django-ssl-vhost.conf.j2"
 django_settings_local_template: "settings_local.py.j2"
@@ -54,7 +59,7 @@ django_database_host_ip_address: "{{ groups['database'][0] }}"
 
 # Should be a python expression that evaluates to a string representing a file 
path. For example:
 # django_keycloak_ca_certfile_path: "/etc/ca.pem"
-# or 
+# or
 # django_keycloak_ca_certfile_path: 'os.path.join(BASE_DIR, "django_airavata", 
"resources", "incommon_rsa_server_ca.pem")'
 # By default it has no value meaning system default CA certs will be used for 
validation.
 django_keycloak_ca_certfile_path:
diff --git a/dev-tools/ansible/roles/django/tasks/main.yml 
b/dev-tools/ansible/roles/django/tasks/main.yml
index 6e0e438028..56e307f946 100644
--- a/dev-tools/ansible/roles/django/tasks/main.yml
+++ b/dev-tools/ansible/roles/django/tasks/main.yml
@@ -363,3 +363,11 @@
     create: yes
   become: yes
   when: vhost_ssl and vhost_server_redirect_ssl_certificate_file is defined
+
+- name: Install archive_user_data.cron script
+  template:
+    src: archive_user_data.cron.j2
+    dest: /etc/cron.daily/{{ gateway_id }}-archive_user_data.cron
+    mode: 0755
+  become: yes
+  become_user: root
diff --git a/dev-tools/ansible/roles/django/templates/archive_user_data.cron.j2 
b/dev-tools/ansible/roles/django/templates/archive_user_data.cron.j2
new file mode 100644
index 0000000000..dec71a3b30
--- /dev/null
+++ b/dev-tools/ansible/roles/django/templates/archive_user_data.cron.j2
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+source "{{ django_venv_dir }}/bin/activate"
+cd "{{ airavata_django_checkout }}"
+python manage.py archive_user_data
diff --git a/dev-tools/ansible/roles/django/templates/settings_local.py.j2 
b/dev-tools/ansible/roles/django/templates/settings_local.py.j2
index 0028c0a0fe..70b25fc1fa 100644
--- a/dev-tools/ansible/roles/django/templates/settings_local.py.j2
+++ b/dev-tools/ansible/roles/django/templates/settings_local.py.j2
@@ -184,6 +184,12 @@ PGA_URL = "{{ django_pga_url }}"
 GOOGLE_ANALYTICS_TRACKING_ID = "{{ django_google_analytics_tracking_id }}"
 {% endif %}
 
+{% if django_user_data_archive_max_age_days %}
+GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS = {{ 
django_user_data_archive_max_age_days }}
+GATEWAY_USER_DATA_ARCHIVE_DIRECTORY = "{{ django_user_data_archive_directory 
}}"
+GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB = {{ 
django_user_data_archive_minimum_archive_size_gb }}
+{% endif %}
+
 # Extra settings
 {% for extra_setting in django_extra_settings.items() | list %}
 {{ extra_setting[0] }} = {{ extra_setting[1] | to_nice_json }}

Reply via email to