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