Merge pull request #428 from isururanawaka/metaschedular

fix hardcorded ip address
diff --git a/CITATION.cff b/CITATION.cff
new file mode 100644
index 0000000..92f4e12
--- /dev/null
+++ b/CITATION.cff
@@ -0,0 +1,56 @@
+# This CITATION.cff file was generated with cffinit.
+# Visit https://bit.ly/cffinit to generate yours today!
+
+cff-version: 1.2.0
+title: Apache Airavata
+message: >-
+  If you use this software, please cite it using the
+  metadata from this file.
+type: software
+authors:
+  - given-names: Airavata
+    family-names: Apache
+    email: dev@airavata.apache.org
+repository-code: 'https://github.com/apache/airavata'
+url: 'https://airavata.apache.org/'
+license: Apache-2.0
+preferred-citation:
+  type: proceedings
+  authors:
+  - family-names: "Marru"
+    given-names: "Suresh"
+  - family-names: "Gunathilake"
+    given-names: "Lahiru"
+  - family-names: "Herath"
+    given-names: "Chathura"
+  - family-names: "Tangchaisin"
+    given-names: "Patanachai"
+  - family-names: "Pierce"
+    given-names: "Marlon"
+  - family-names: "Mattmann"
+    given-names: "Chris"
+  - family-names: "Singh"
+    given-names: "Raminder"
+  - family-names: "Gunarathne"
+    given-names: "Thilina"
+  - family-names: "Chinthaka"
+    given-names: "Eran"
+  - family-names: "Gardler"
+    given-names: "Ross"
+  - family-names: "Slominski"
+    given-names: "Aleksander"
+  - family-names: "Douma"
+    given-names: "Ate"
+  - family-names: "Perera"
+    given-names: "Srinath"
+  - family-names: "Weerawarana"
+    given-names: "Sanjiva"
+  doi: "10.1145/2110486.2110490"
+  journal: "Proceedings of the 2011 ACM workshop on Gateway computing environments"
+  month: 11
+  start: 1 # 21
+  end: 10 # 28
+  title: "Apache airavata: a framework for distributed applications and computational workflows"
+  issue: 1
+  volume: 1
+  year: 2011
diff --git a/dev-tools/ansible/airavata.yml b/dev-tools/ansible/airavata.yml
index 5969528..cc55664 100644
--- a/dev-tools/ansible/airavata.yml
+++ b/dev-tools/ansible/airavata.yml
@@ -43,6 +43,7 @@
     - role: common
       become: yes
       become_user: "{{user}}"
+    - letsencrypt
     - role: api-orch
       become: yes
       become_user: "{{user}}"
diff --git a/dev-tools/ansible/apiserver.yml b/dev-tools/ansible/apiserver.yml
index 8a22961..505d73a 100644
--- a/dev-tools/ansible/apiserver.yml
+++ b/dev-tools/ansible/apiserver.yml
@@ -31,6 +31,7 @@
     - role: common
       become: yes
       become_user: "{{user}}"
+    - letsencrypt
     - role: api-orch
       become: yes
       become_user: "{{user}}"
diff --git a/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml b/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
index 97a388a..15c5d33 100644
--- a/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
@@ -71,8 +71,9 @@
 api_server_name: "apiserver-node0"
 api_server_host: "{{ groups['api-orch'][0] }}"
 api_server_port: "8930"
+api_server_public_hostname: "apidev.scigap.org"
 api_secured: "true"
-tls_enable: "true"
+tls_enable: "false"
 api_server_tls_port: "9930"
 enable_sharing: "true"
 iam_server_url: "https://iamdev.scigap.org/auth"
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vars.yml
new file mode 100644
index 0000000..f328c5b
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vars.yml
@@ -0,0 +1,62 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+
+# NOTE: Plasma Science VLab is deployed to a Jetstream2 VM
+real_user_data_dir: "/media/volume/gateway-data/data"
+user_data_dir: "/var/www/portals/gateway-user-data"
+gateway_data_store_hostname: "149.165.152.93"
+gateway_data_store_resource_id: "149.165.152.93_730d2033-c4f0-4fa6-8c45-429a595a52f8"
+
+vhost_servername: "dev.vlab.plasmascience.scigap.org"
+vhost_ssl: true
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+# tus isn't setup yet
+tusd_vhost_servername:
+
+airavata_django_extra_dependencies:
+  - name: git+https://github.com/matthew-mccall/zenodo_integration_app.git#egg=zenodo_integration_app
+    editable: true
+
+## Keycloak related variables
+tenant_domain: "devgkeyll"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "Dev Gkeyll"
+#  external:
+#    - name: "Existing Institute Login"
+#      idp_alias: "cilogon"
+
+gateway_id: "devgkeyll"
+experiment_data_dir: "{{ user_data_dir }}/django-dev-gkeyll"
+# gateway_data_store_ssh_public_key: "TODO"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCsYjZYzdzpYqzFqLIAxGRxxTYMogApIvMw7nMxueL/SS7W2BuHmHNTQA2KAqcTBca3Whe88rzek5jebU44GqAG20Gya3a4HMInwFyxpsXdtFiCpsZfHaV/05OwpuHJ87Yn+rcOffs6cCvbe9SkxteFoEYTrqxUmVlC0mwHm3pLBpjBtl5UwAXD53D2LJ05vMpxQ3F1ncGL7bV2JThJUYidlwgTySOtjuuRz0/sCsYfgnG7iEhsQRc6Konq/m+uvzk1rdMdxyPhgAaN4xw2LRKm+W0KqXwv5GNV0iMTrge/Nb4AYa2tKi07v8HYpfGrjPCDRHZJl3C3SGS9d8wtBeP"
+#django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
+
+admin_emails: "[('Eroma Abeysinghe', 'eabeysin@iu.edu')]"
+portal_title: "Dev Gkeyll Gateway"
+...
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vault.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vault.yml
new file mode 100644
index 0000000..c268c95
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+38396634316433343133626162353265646139393639616330333438363236636661316538386339
+3766623161626464303231323237363333386338303339640a653666616633333131646631626537
+39653966663763633032366566626230383262323834663731333765373230663733386634373932
+3239613066353832330a373435383737363637396335613861313662356132313464356435663532
+65663239663764663632633263383763343730636566303336376437306633376134393863666134
+61393631616461386261306439613965663337373137363866396332333162626631383465633538
+65336639353232626336366630313562626435613936613133336133306131356430366631383139
+33393737303739393132343765393765343834663735636561643461366136616139333438386465
+63373363313436623062653436353133313566396565366161323139666162346438326565663730
+30303036376564376232663537393162633232666134653736646464363966323062316533353133
+346430373334333765613061643262373132
diff --git a/dev-tools/ansible/inventories/scigap/develop/hosts b/dev-tools/ansible/inventories/scigap/develop/hosts
index b60266b..28c480c 100644
--- a/dev-tools/ansible/inventories/scigap/develop/hosts
+++ b/dev-tools/ansible/inventories/scigap/develop/hosts
@@ -39,6 +39,7 @@
 ; custos-testdrive ansible_host=pgadev.scigap.org
 rnamake ansible_host=web.dev.scigap.org
 dev-ultrascan ansible_host=web.dev.scigap.org
+dev-gkeyll ansible_host=149.165.152.93
 
 [pga]
 scigap ansible_host=149.165.155.229
diff --git a/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml b/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
index d7c1d06..284ebb0 100644
--- a/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
@@ -67,8 +67,9 @@
 api_server_name: "apiserver-node0"
 api_server_host: "{{ groups['api-orch'][0] }}"
 api_server_port: "8930"
+api_server_public_hostname: "apiprod.scigap.org"
 api_secured: "true"
-tls_enable: "true"
+tls_enable: "false"
 api_server_tls_port: "9930"
 enable_sharing: "true"
 iam_server_url: "https://iam.scigap.org/auth"
@@ -235,3 +236,16 @@
 
 # Zabbix
 zabbix_server: "rt-monitor.uits.iu.edu"
+
+#variables for metscheduler
+cluster_monitoring_enabled: true
+metascheduler_resource_selection_policy_class: org.apache.airavata.metascheduler.process.scheduling.engine.cr.selection.MultipleComputeResourcePolicy
+metascheduler_gateway: ultrascan
+metascheduler_group_resource_profile: 6de84d0c-2bc5-4971-811e-5a56bde63ba2
+metascheduler_username: metascheacc
+cluster_scanning_interval: 7800
+job_scanning_interval: 180
+cluster_scanning_parallel_jobs: 1
+metaschedluer_job_scanning_enable: true
+metascheduler_maximum_rescheduler_threshold: 5
+compute_resource_rescheduler_policy_class: org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler.ExponentialBackOffReScheduler
diff --git a/dev-tools/ansible/inventories/scigap/production/group_vars/django/vars.yml b/dev-tools/ansible/inventories/scigap/production/group_vars/django/vars.yml
index da6381a..2502b87 100644
--- a/dev-tools/ansible/inventories/scigap/production/group_vars/django/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/group_vars/django/vars.yml
@@ -32,6 +32,8 @@
 # django_keycloak_ca_certfile_path: 'os.path.join(BASE_DIR, "django_airavata", "resources", "incommon_rsa_server_ca.pem")'
 cilogon_userinfo_url: "https://cilogon.org/oauth2/userinfo"
 
+django_user_data_archive_directory: "{{ user_data_dir }}/user-data-archives/{{ gateway_id }}"
+
 # Default email settings
 portal_email_host: "smtp.gmail.com"
 portal_email_port: 587
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vars.yml
new file mode 100644
index 0000000..4792f33
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vars.yml
@@ -0,0 +1,57 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+# TODO: tus not setup yet
+tusd_vhost_servername:
+
+vhost_servername: "ai.cybershuttle.org"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# Increase max upload size to 200MB
+#django_file_upload_max_file_size_mb: 200
+
+## Keycloak related variables
+tenant_domain: "ai-confluence"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "AI Confluence Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "ai-confluence"
+experiment_data_dir: "{{ user_data_dir }}/ai-confluence"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVSe+qdmtbC0557O4C+Xv5jrSr66Wjj/zx9fDHhX3j5xHxWA90mnc5HNfFRSM+IqL4kICY83M7YQWClOdpITMb1tLFNzY4ZkR4X7xTxFw8MGkMGm3lEPFhr2Sht7CwC3Br/5x4wUIlNfWMkWmRT+evaM1GGHozkjgCVutsSINLKbz38L2/ZYlJ5l14WaCq602IY8qUFDNUzSC8Tl44IyG9l6ocnEvE4sBbMiFKx38jIRTlZDyIqJ5V1WzeW0xm7wzVQQsAQHn7x2yTNgJ2I6EX4kJeyjwXIbl4N70QuISaHz4XOe6/L1a/c2fMuLmjc5GgjoUPxscvyCvCrTSu/3Zf"
+django_user_data_archive_max_age_days: 180
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
+portal_title: "AI Confluence Gateway"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vault.yml
new file mode 100644
index 0000000..c67f63a
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+63316230363261343835663931313830316132666565323138353866353061363734323566616430
+6465666666313261316439353261343230626130633437310a623938623865303662383365663965
+35366163613336356630313366653830643934656435356536613933646231313931396139653232
+3134663335346239640a336230663731363366636231383838383964353631393530303537343432
+39396466323465333034303236303832663966633138363739323665303162613137303333396432
+65353765306339323166643439343737336639383461333264633236383664346464623635353366
+39363062623531643561393138313830396330626533376362633265303830323531333435643034
+66326439613764323637623238623063646665373432656238306362363638663730323537356636
+32333666336138656336633163653262306639373139636532306435323363326235376561383130
+31653132336565326662333133366335373232643462663337353236353036306666623733303964
+376334376536623637633266636532386464
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ampgateway/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ampgateway/vars.yml
index 049db75..a9139d0 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/ampgateway/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ampgateway/vars.yml
@@ -51,6 +51,7 @@
 gateway_id: "amp"
 experiment_data_dir: "{{ user_data_dir }}/amp"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCAfFAdLrGC/om63ipx9RhuzcGnMlVQkKsuy5NtUgK7I4OdTJ1Ck1H/ARBwiWNQy08GO2HETfM7StCROwW+tlZ6n+THBkbei4G8q6xV6UXlC3BJxuDlwkxnyOFSYEt8Qd2g8IC/X0qo9/m5Ea9Z5axzTk+n2OZlV87DrLheV+OVhgf+yYGVo9egTZ7Kg/TV/Hl1xeU5JgRcPPrLrWYn8vEQo7xT5boS3X9y2o7FgNTdUf5K10ZJ37RWcLQpzZ+7zEKs/P/I/QU+BUhxRRfnEf/4e4L3OFE36SQ4DSFmu3lKU4BcQQb3A6SfQGC1PwQdD5y9MUkpit4hMCSJLjVBTN3H"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'), ('Barry Schneider', '	bis@nist.gov')]"
 portal_title: "Atomic, Molecular, and Optical Science Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml
index ebe806b..03257d0 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml
@@ -47,6 +47,7 @@
 gateway_id: "bcbportal"
 experiment_data_dir: "{{ user_data_dir }}/bcbportal"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1WOyu47oKrRhIBUGI5aJsFk4wxCEgf3DzFdlYrWbGacfEETbE1Cxe8Tdj5TevIflui+HWJq5quHkMiZtHhGZbC4JMDKlzJaBn5vHpEAWtyvCXglkpu+Q+/XGLOwqy4XGa4rdf/CXvuWgc5+XCBb++A/eBswQVPt4C631Xsym7LA1NQXK3XxJApP/2IHnWtJI2d9g5TnzH8Oa99d146KmAKMl73lsCZtC1saBtGRsggJ7dRal7ush3XqiNCMgWPM8QU0ogbOBXDUZKRGAoY+frDaJdA3eQISiRRknpFyZwWcXU0CGnqaBiJdJEGYKLMvP9qBz/juN8jKMBkEJLGU1/"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu')]"
 portal_title: "BCB Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml
index e94accd..36e52aa 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml
@@ -46,6 +46,7 @@
 gateway_id: "covid-geoact"
 experiment_data_dir: "{{ user_data_dir }}/covid-geoact"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZpB6Q2bMcB9eTpMXBf6adFysDWE++Q7cNFfo3bTZgfH9YqZlvBLCDgQ7dWB5fiag2y/AGm0DPnEerIbG8df9HpJ/pOvqGjHKzkoz+Xi1J0n8FFCiPtuOE2sWwnFNniAwQeAKzCiBn1oL84IiYsJ2nTmRXcl6qIREsBOfG6oDMGYbI3fOaGKwVscJSKFjfRVhaHRgwcOuvsuf1Z/E4X9C1uhIE4BSFA7BoTbtTictTVp7lo4XvCorBziO3fZacFI9gCMVSNnI4OUZu5rXqXPjXfmIV2tDz9kGMTzW5OIk3xdU6MHGprwUkXPttdERVGTbFha+HJk3S2jaeV1pnDxlt"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'), ('Ilya Zaslavsky', 'zaslavsk@sdsc.edu'), ('Kaushik Ganapathy', 'krganapa@ucsd.edu'), ('Johnny Lei', 'jil1119@ucsd.edu')]"
 portal_title: "Covid GeoAct Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ehtgateway/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ehtgateway/vars.yml
index d51ed6c..a62297f 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/ehtgateway/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ehtgateway/vars.yml
@@ -47,6 +47,7 @@
 gateway_id: "ehtgateway"
 experiment_data_dir: "{{ user_data_dir }}/ehtgateway"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCr7wFmAAPMfHAuCFPZJHZSUqLMiL9LwEC8tkfIIrgLtphuDT7Jgmq37XFK2/llg1clb0Ugehpl35OVnNLOb4IZqAgUYIvm2298sHfUT9W/TIpAqMg7hSiK5x8SWDn0zC6+APQMiEIJD9Q/pfJ1vAUbMrkkwQ4cXtqcF6f478Ou7juwIBCzywEbqdtQ+x8kBIglk4/QAtSSekRWmOTvqq5B1sXpB7scWQUb/D/ZCpMRlbOpctmE8D9alkNMdKe/5wUfIvdwg2WzRtgOho5pg/deWaOpfMUa0FQbdV8iO22xr7j6y9Rj25rYiHqJFqFsEK/aO0aMT+OXTH6JbJi8p1Fp"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Chan Chi-kwan', 'chanc@arizona.edu'),('Rob Quick', 'rquick@iu.edu')]"
 portal_title: "EHT Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/geo/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/geo/vars.yml
index 97aac8b..14d9ab2 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/geo/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/geo/vars.yml
@@ -57,6 +57,7 @@
 gateway_id: "geo"
 experiment_data_dir: "{{ user_data_dir }}/geo"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZyps8huDQdr9ZJARtF0RcbyOD3FqMZZKldhW7soaWvOn7ev5rMgpto+TI/YQ8w5lWwWsqtxOByxJaGFgAkwI9+/vr0MPsMz/gmHi2NaEOYm+AA25ozPW9aMWRkaeAlK9sLWI85Cg6owozZngXV745R1LjtxhGO4/sOJLBIZxndLuaIlV1th2yontOsjv5CLr525mc8+0keViSWf7agdqTI7hN51fyyDM1KucwLfXXZZd4vQRJ68o9A6INH66KAbx54u6dd7PBKrJQC63RsPZG6i9jn6qBaLv7xkGH2iM7HfVy8ywMlyvQRb3DJdxG0AUXlZuxOHRH95hdBlgiSsTl"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "Geo Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/georgiastate/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/georgiastate/vars.yml
index ff2cf97..860556d 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/georgiastate/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/georgiastate/vars.yml
@@ -41,6 +41,7 @@
 gateway_id: "georgiastate"
 experiment_data_dir: "{{ user_data_dir }}/georgia-state"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCFSg9IEgsXlGhgPkj4hPuON30rbE3/gUUn4K3NVvBFKLyQQ8Pm/NR6dZmFglQR1HxBRSnq4WmH3EVyxHuT7MkQDAjTkclEuhaRjcYN0nua8g4dI9SgO9DeqbOyurVIuw/YChP5nC+6/ubMyzYPr6Z5xU5QHZI/QlVG4nz3joMIKkRXt/bsaEvv+/nzED/j6FTdK6P6dg1ESkNVZUPqhtWpwuC28Et7/86jcEObJedwx8geLoxKogPZ6kqO+Q/WUHDtMpFYtwuPaiYuN3Pb/GCvnDRsSoFmtRU+UH1UIdEy0piYUuBW+5aCv/PbH/UtHFg1Y1942TYCXv4rl1i/KW1z"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'), ('Suranga Edirisinghe Pathirannehelage','neranjan@gsu.edu')]"
 portal_title: "Georgia State Science Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/global-flood/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/global-flood/vars.yml
index 50e738b..404b501 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/global-flood/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/global-flood/vars.yml
@@ -23,6 +23,8 @@
 #gateway_data_store_hostname: "js-168-166.jetstream-cloud.org"
 
 airavata_django_extra_dependencies:
+  # Production server has gdal library 3.4 installed
+  - name: "GDAL<3.5"
   - name: "git+https://github.com/Global-Flood-Assessment/global-floods-django-app.git#egg=global_floods_django_app"
     editable: true
 
@@ -53,6 +55,7 @@
 gateway_id: "global-flood"
 experiment_data_dir: "{{ user_data_dir }}/global-flood"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPuGmLPwwXu15TCdLwsE9dFoWJu1kzQzdLukslMKjVCf05Fe+MyCP7EG5n1psGigSORGm0bo/9t9fPQGyPRUR2jIBI5lR2bE5JJ8XNotf+Gdv45FXhXHTIPSeb1bAymEQVghALxqeYOWnnP+6aL61Zy6nAokMJdkdRXFRxr0paYLbH3oaCAVdp2ggMXP+KMvkKHjMSa9aZFK/V/YrIRONKDrdK+DV7D0xk4XGplRAsw8UpS8GJipfq8uTM23Tr/UMCYUCbW8qqf0HYFohY+51lT/1JjYb+cBWjy1iuNGVQVnQsuNSOoDnW1C07V6VFzwKZJOv+rYhw6iL5rcq3fzDD"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Wang Jun','wang208@iu.edu')]"
 portal_title: "Global Floods Assessment Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/immune/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/immune/vars.yml
index d9c4e4a..35b804b 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/immune/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/immune/vars.yml
@@ -56,6 +56,7 @@
 gateway_id: "immune"
 experiment_data_dir: "{{ user_data_dir }}/immune"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCntbE2GLI5S2QNRlruR8vjmLHUbpePz9NBcSJuvffOT+R75nsWlyjVEI7Tn43qvJMPR7SpOy5W5u7mmjLYx0lphMv5RJ64Hy5tIK39RlXya3s/+0gyA//I9tS4BAt7NKmGItvIZI/JLGxyUY8ZTnkRofAbEHJy3KtW1lBWUHKNsJfXyR7KJwmEkOVMU8x4fC/C/OyfsofsipG82fYJlfAgpJc+kODAgJBZI90h9pisOmfk2Wkiqt6aC3JHUZmIF2x3w5eXyhTc6RCBgNNQUy88KPOp5neMnCEbrCMx0aZGqLZFb9Q+4DVdnsmS+QvCEEpI8eFiceSN0D1Yo5IC9bvh"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Chuanpeng Dong','cpdong@iu.edu')]"
 portal_title: "Immune Portal"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/interactwel/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/interactwel/vars.yml
index 98dabe2..4197d0c 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/interactwel/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/interactwel/vars.yml
@@ -42,6 +42,7 @@
 experiment_data_dir: "{{ user_data_dir }}/interactwel"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCFkcK2krGe1tZ339p5bGrBi6+Vrgl9q7VRILUP39C5vC753dajWBtRWI3Id47KXcGPsbl/JPYAn5+jHDFlQwP6aXrGt3npL0thPXOMQ8pykrQs6ridaeFwa3QrlwFVeAhf+Y0FqlXNbl8aHTP0oQAaG8p2ID1/K7GLty0cgiVgEY1aPY6/aQT/81zCoxQzpOodJtU247Ls8I6Lgha/jv6P+fKgcogqaAm39UzCDTy7HN1Owh+yfLh6Cy3XT8SPegVw8XFpOLP8AO1S3CB3B5s1DBdHYOeEGserIbaEgtDHoLw/YIXtAZt9QL6IJ3g9uXVDtZhexj7Rp07QCQhhiaep"
 django_hidden_airavata_apps: "[]"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Samuel Rivera','sammy.rivera@oregonstate.edu'),('Meghna Babbar-Sebens','meghna@oregonstate.edu')]"
 portal_title: "InterACTWEL Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml
index c0149f2..14225bd 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml
@@ -48,6 +48,7 @@
 gateway_id: "lrose"
 experiment_data_dir: "{{ user_data_dir }}/lrose"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCBRVHtPN6m/9VUXuYK6+92BSWR65D7+8Y+HAwevv1teLTuaZutyvysbQDPeKYMpqj+z3GMPo0E86zIoXXFHKXS6assBsvpQNNXBfIl91J0b3gUD3SukBbShPyhTawIi7za6VPMvUSa3koC/52Ihbz8VQLNc0xCxnSWHhgc1bIBMoA1JsXOnKPAQZvjkBwXAZUeDXLyS3koE9WNnbRoqOUkqs0MO8tKCvfaVTqILHToOSvgaXrXbEEpND9dCvIuer6tREgakoig+1ck9t9VzPLb/1FsaWGA/V/0WKHcsGvfDmIZcjtdL+eUhVJIJif3BCXDeQJJVap7smll3DXmkgKb"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Brenda Javornik', 'brenda@ucar.edu'),('Mike Dixon', 'dixon@ucar.edu'),('Ting-Yu Cha', 'tingyu@rams.colostate.edu'),('Jen DeHart', 'jcdehart@colostate.edu')]"
 portal_title: "LROSE Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
index f851632..11c7a92 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
@@ -57,6 +57,7 @@
 gateway_id: "microbial-genomes"
 experiment_data_dir: "{{ user_data_dir }}/microbial-genomes"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCG/syNtrxrgfdHpxln172epFN36uztXhblac4uqNYW9Qlp8K5YI1MICxCW+HJu1mOkIvOLseYaZm1m8Vt7KwTvp/RP6iyZ8M/fWMPO+v9ZLjGupi/iDLA8JNfD0trpwXzW4PCFaqPG2+LtpzsfsI8Bx6UwFXbHKdEo5eC548Cc5EVkZ9xFEChCQHdUcxWI7zs7+S9wsAOY3Qbsrg/UtLAe4P8ZFxABSgBdirKusxdbw/0LgVhkj1aTKIE7n+7b7b11m4A1bzvsvhNLBlN+hRXG9ZiOOYExO1T5p3rX+HHIeUNAi1AMlc6KTa833ni0FWK3EYbGEwC1og6hSfl2ZGRp"
+django_user_data_archive_max_age_days: 90
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Luis Rodriguez Rojas', 'miguel.rodriguez@uibk.ac.at'),('Konstantinos Konstantinidis','kostas@ce.gatech.edu'),('Luis Rodriguez Rojas','lmrodriguezr@gmail.com')]"
 portal_title: "Microbial Genomes Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vars.yml
new file mode 100644
index 0000000..f73862d
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vars.yml
@@ -0,0 +1,57 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+# TODO: tus not setup yet
+tusd_vhost_servername:
+
+vhost_servername: "md.cybershuttle.org"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# Increase max upload size to 200MB
+#django_file_upload_max_file_size_mb: 200
+
+## Keycloak related variables
+tenant_domain: "molecular-dynamics"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "Molecular Dynamics Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "molecular-dynamics"
+experiment_data_dir: "{{ user_data_dir }}/molecular-dynamics"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCE1feXCJlzfxtkwqrwfHRXqmfR0tKyiGg/NXhYht9mO/WMvuSeKysByCBDnFO1PVF+qGJILOE7E9n6e9xOfTqpuLJsYi4UwLRKu7nGOsERj7ei+1+UpJDn/m8FoDoEInokrkzHeqFJ2NeTSTTU4SKrdvoRF9BWRQW3s3YDILwfh646dvm0wvuxBvif6O/t58svYwVH08MhDK8q06qWeYb21vqI4rk5jM9gObUUcdKuONpSCj9Q8VcnhelHCEu6oyQWcfxaD0k9/qGjEetv2Y/h2dGLSbXxadePkLOojHEAkStzHOYAqlgr0Ig/wav/PgyQBXAWJ4+FjnfVvJ++CCif"
+django_user_data_archive_max_age_days: 180
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
+portal_title: "Molecular Dynamics Gateway"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vault.yml
new file mode 100644
index 0000000..4536cde
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+66396632386236353530653733363831366335643137333664356434336333393234633466633138
+6265353330303335343262393535666234353138356562330a663264353831363336396330663130
+61623064386530366634316531343136393837376662323832623033336462343332316239616565
+3232623064383330320a343433656466656236616665653034373963303934626439363630343332
+38326661386337383834633861323830643834383064656336333237653965316563623831326138
+64366331353664346137393933363533653830643638366433386337376230633764663931323532
+30643038643837306531333466666637643466663639313763643439623131393537346366613332
+62353639633239653537333130313962393137666436613765393034323665623235363961663464
+39663638363562326663663265353234616465346438306330373137626632626562393461313737
+39343239363237643031306264653264396462383834633535396638303034383562336133386632
+633564653066613064303639613432333333
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vars.yml
new file mode 100644
index 0000000..7245820
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vars.yml
@@ -0,0 +1,57 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+# TODO: tus not setup yet
+tusd_vhost_servername:
+
+vhost_servername: "veda.cybershuttle.org"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# Increase max upload size to 200MB
+#django_file_upload_max_file_size_mb: 200
+
+## Keycloak related variables
+tenant_domain: "nasa-veda"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "NASA VEDA Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "nasa-veda"
+experiment_data_dir: "{{ user_data_dir }}/nasa-veda"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCp8LKgKow4ksZJLSm/6qwKA9D1w4+CQcjgl0VJHZSTGFxPxG4Z75hgIlLDDe5tpa8pfwgKywIn8/QNvay2B7lgrEtxH/MkJYoeRiz8w9gq9svWYddFGq+rSAWtyaB3KroPL4N77xiZ6BnGsjhQY80Umsusj4SP3ue1L/2mKkN/POOPP75b2lONxJqYwMT2Bdusa6lbReEM9iv089Ef0nRAfxhOh2mX9/XghDBcx6GYEqcs2rvaQkwEcqroJiozTgcROJLp5kwCdJ/O5vdr3wIoAqOWlyUbU32oGiHvDcz2GYNxyZUeEC6M5sxtz3NzqSHVtl8sJKS2UOuNOH+sbuvZ"
+django_user_data_archive_max_age_days: 180
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
+portal_title: "NASA VEDA Gateway"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vault.yml
new file mode 100644
index 0000000..af3e708
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+62626364616539366331623738616565623364396334333361316564646338613633366539343437
+6566346261626230616230623066623532343633626635350a313938373362336433636638623137
+37623031636266383761343261366564316161373962633861636163646430316530666466313234
+3063633530666631610a383266363162363937636439303264353734663462303535356234326439
+36613763653838343361366337393735343534356638353238343262613330393033376630363736
+35663338663533393535363835343234323836313137616635353761616364653665336563383230
+64313566613432383664333333353137343838316532393765633930633866646238663535663337
+34643639396462343732636539393430643264336562613731353034346333373761353036303936
+36373266663831646661316363633137306663303433383863323731396536306632623439633336
+35666165663465613938633938376238613033616237393732343861303037656538393834323934
+646539346163646436616339663361343537
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vars.yml
index 4d973f4..eb4ca5d 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vars.yml
@@ -48,6 +48,7 @@
 gateway_id: "neuroscience-cybershuttle"
 experiment_data_dir: "{{ user_data_dir }}/neuroscience-cybershuttle"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCnsRKJRqFvjmNUwChRLMzHZBCzVxh4kK/GBFagzjI5WL5l4RFsnXXpmIFpi1VKGcll/LDnI1PvDdZPP+KaGkuuEmaTgCJD8BSgxz7PmTsOuka6Fl7YwTRcXhv/vYfDQLYUNKfWWmBPyIhfnn+St0jsOSogTvM6Cvajb5/42btCRAcQ9PV6ZqUNdrHWf8fQI+rb9kmb/3H4tI40MG0p68WuhKuf0Fbdrn/Roc7//yRo854WtUi1XpXyLp4W9ggkVEOAlJPTACVA63mSaO3qyY5Hqplwk7iDM+/c0QKB1jKCwqzZdh5djP6GxloO9K5dDyUyn+jtHk+dwAdTKpjlWR1d"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "NeuroScience Cybershuttle Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/nexttdb/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/nexttdb/vars.yml
index 7f76d88..e6bca1e 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/nexttdb/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/nexttdb/vars.yml
@@ -44,6 +44,7 @@
 gateway_id: "nexttdb"
 experiment_data_dir: "{{ user_data_dir }}/nexttdb"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9jXb9oP4qh3S5Au98nYyV6rOfBXgnvq2asVuapb+a2zyzKKXVxl254IKvFC709F3U9i0re/Z+FQO9qDPZFAgQLps8anyE6+xKuU0DUvzk76OVX/ZMlHfSyRFqKuDBIln02M5rM6qLEUjh7INk1y6z0D1kPW3TsU7w7uY66k4FSAX9qAEZlemy4oCCIQVrege4ZWYSd02H/jXm6j6z7XPI63UbXhpFbZHwdGEAeiQaaas9fDDsy33lN66fC39qV80R5A/7rYQwhyfL1V3wic97lplNyPdZ2fGSUUtFLZxOtJQ1IhDq6kCSYVgQg8U3QviJ5QlYs2CSusshcWUkIZQ/"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Chen Zhu','chenzhu@indiana.edu'),('Lei Gong','lgong@indiana.edu'),('Kevin Tu','tuk@iu.edu')]"
 portal_title: "NextGen Thermodynamics Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
index f83b413..28cf39b 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
@@ -43,6 +43,7 @@
 gateway_id: "physicell"
 experiment_data_dir: "{{ user_data_dir }}/physicell"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCagNzgz6E90G5LPsVNGvV45AOR5mtO9JN3ZAqEGp3a8k36IjFTOL5vF44cw0xLdWWDIZNLEd2ufJyTpdyrMPZrblh+z45U3YTiMcDvbtyxVypF84df00AnzvC5Vv2Hzc4v8cTXJyP9hsMQ/phnkbDGFSLEA5WveFkIH5CXMePQ4MjmmTi6eq8xPyjI3R1l4xG9MJQmFOdHT/IRvtUhT35qZDTnZA5LvYwynuyjdRUxNojZuhJAJVgMFEPdMSwB83T+sO/V7IZL8CF9L0179KTGk87gtis+NAhM4tn2CvSh1jvftoG7c67vOnRny5x3SI+pxDvulVEiUVw/xAMyMmyn"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Suresh Marru','smarru@iu.edu')]"
 portal_title: "Physicell Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/regsnps/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/regsnps/vars.yml
index 8b4c139..9162933 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/regsnps/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/regsnps/vars.yml
@@ -55,6 +55,7 @@
 gateway_id: "regsnps"
 experiment_data_dir: "{{ user_data_dir }}/regsnps"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAlldWcIK6yNgrj8Firns6JzHVv7iHEdj+VRe6GBIbPSsvY70dx6wfxxCaQvaEvfbXasdPsteTGxjYZ1qSiFQ5XWbX0azThxtMpz/ycQ0V9npsEhRMQ7dzRCI/r5RJOMryVK8KeHRxKJC3SUg4NkDqQ9TFkxYv0vWdsuhPFflpR2QvacD4kfh7nBvVhjxLqSlyDYJEJkKBuvx2n6p+Kx9sr9V1UXDZl22TXyTIHGdVwcTS6nhItqMeSCtBDsofv7U1xvKCb3u4D0tXlSAgLv7Anc+CQmJlj6QJQV4U2fsRy0eW+kkn5U3Dza9km0aXdAo+VHuBXdCGTG13e7yTgRRr"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "RegSNPs Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/sdstate/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/sdstate/vars.yml
index 3ffaecd..d725d5d 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/sdstate/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/sdstate/vars.yml
@@ -43,6 +43,7 @@
 gateway_id: "sdstate"
 experiment_data_dir: "{{ user_data_dir }}/sdstate"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7vqwM+CWfqVWODe3iLsKN9leJ9nI+pKFZhrVUG8K/ODycXT5tQOxMhsC+HG6/wJ1W7+LeA6uvVnltnFlVozfTs2jeJzVQ71UvfUiZFVhXian3f8Nd4DXBvqPUY8dmhWP/UJCIKO47fSI/RC2ZlMa1K4yRYPdRgLRuSmtzG8Rb7YGVjkt1uDOLMh6hAS1KKpWVSxESFeqqoKj2xqOKBnbf2PdJt/D4/2R6H8D/WAM0cdZnls5fmiUysHK+bU8atzMukLQ6STglVv0WuqNGdAw6zWZH+Kaj8bP19jfkGCbMLP1vPYRkcxLmtnSzbg2Hams9npwdAA+xwwjuS6/tAX+p"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC','sgrc-iu-group@iu.edu'),('Chad Julius','Chad.Julius@sdstate.edu'),('Kevin Brandt','Kevin.Brandt@sdstate.edu'),('Luke Gassman','luke.gassman@sdstate.edu')]"
 portal_title: "South Dakota State University Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/seagrid/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/seagrid/vars.yml
index 20a4354..8c4120b 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/seagrid/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/seagrid/vars.yml
@@ -48,6 +48,7 @@
 gateway_id: "seagrid"
 experiment_data_dir: "{{ user_data_dir }}/seagrid"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCApfdud3cJ7rx44M41gEKVgRfefk/Vd/7dIp9Xr9juX4jqmGuLoZR+hk287Hmbps6hZv23Av97XkCLldH0pueDekthcBDo4cRiQMDBp9NLz/9muqYVBl985psEbazYygagy/q/3ebi4CVEYVd4cHBee1V3GYyuJS2RklF0s/Otyf8x8auJSMniHGbTbVqtFlEOYuPdXlRBfH37k55N7+2iXKsIVvgn1MDweHEbQWJMx2LDCkLfJitreTiwcuST55w6N/n8WYZM2t+ie3BJEr6tcGAVIuyxj7CbMYMziM/hM5J+oQGPY/IBtiNZoxiZ0DeAC9SiEvE9fbTEW2iRWnQL"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
 
 django_extra_settings:
   GATEWAY_DATA_SHARED_DIRECTORIES:
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/searchsra/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/searchsra/vars.yml
index 29cd923..6cc719c 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/searchsra/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/searchsra/vars.yml
@@ -44,6 +44,7 @@
 gateway_id: "searching-sra"
 experiment_data_dir: "{{ user_data_dir }}/searching-sra"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCx981DispO1AnkOAwq1oJ3iaYUW6KT4jn4OPSrvIb1fJyjkNdBK8KQUTviBMgqLH9+FlIx/FYjN7sVLelGUmfOgguIWB4Ea2epAyvGFfrVeF83w5A4uILfrd5AJQuk0sZkNjnnGmmpx6z60IThaof2f14uD7JPcn5Kf0xnfmhJGIo2DYJRp8DYJ4Upd1ENu4p3CqylZGBFTx0ROe3hCNj28BxCY+kTgKTQJQHdwuHK9WxovQHdv2ZrN9GeSyIPUX8W1PpYKqM2i8xGaagPUamHON9TonHyuAdd84CagonwuaG54+jbFbB9uW/zhhnP5vNRxK8aSNIhszOucE2g8xzL"
+django_user_data_archive_max_age_days: 60
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'), ('Robert Edwards', 'raedwards@gmail.com'),('Robert Edwards', 'redwards@sdsu.edu'), ('Mats Rynge','rynge@isi.edu'), ('Eroma Abeysinghe', 'eabeysin@iu.edu')]"
 portal_title: "Search-SRA Portal"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/simvascular_old/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/simvascular_old/vars.yml
index 915388b..e0449dd 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/simvascular_old/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/simvascular_old/vars.yml
@@ -45,6 +45,7 @@
 gateway_id: "simvascular"
 experiment_data_dir: "{{ user_data_dir }}/simvascular"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCNdivlUyLh11poF2vufwa8pCjVY0/fkvym9qdpEeu6nS55CVZe5VXqA1NZ+IwVDabAFwoLrUvaWt7eE8POEZNiBgtonZ21x6KIK5/HilSM6jHds1u6NY436AiHqmcybO/u+NkUI8gUjWTbs4S/i/2WfvAHZc3dbcCHls3QgG55TqOdNnh2pjFLSA1wu0d1qRnrPwnje/yC4GD+3XU1HPLHb9FXLHO4umswKq8sDk2lOIN7u08pCF8Y+BPYfmEdvY8oFwdVsj3OoA3fWEE42xTjb3g65X2oCbhco1g1ya0cfJMgSUbHCcOc2D//rXD+L4/z0/A2VCiEFJtTllrws609"
+django_user_data_archive_max_age_days: 75
 
 admin_emails: "[('Nathan Wilson', 'nwilson@osmsc.com'), ('Eroma Abeysinghe', 'eabeysin@iu.edu'), ('Martin Pfaller','pfaller@stanford.edu'), ('Weiguang Yang','wgyang@stanford.edu'), ('David W. Parker','davep@stanford.edu'),('Justin Tran','justran@Fullerton.edu')]"
 portal_title: "SimVascular Gateway Portal"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
index 7593cb2..6df2c43 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
@@ -43,6 +43,7 @@
 gateway_id: "smaltr"
 experiment_data_dir: "{{ user_data_dir }}/smaltr"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtM2RTAS0ZnwJNjYEWjvt2JArjyoCZQzBJlXYvqeRyYTQPeSTH5nJP1VCkpJ4a7B44gHkcKGORkvNd+PrW7An8otTIGlXfbwn5L20CeKPsk6fWwF99fU4JFvakNANgAfefsQ3OrTgBBvZWkKeK7JztMHbEZw+SJoPZnjlxoKRib/Ymt6Bo/gh833eHth+Rvp2v3k4DPu6cTsOaTCv45JT8E3dBeERASZNdepKanxiQpz/QZg344JxYYQpJP5zKQ7jmfUphDkwFkp7RlAYgkSVC7yiQSgRqcKR38BXEAMqR/0eax/T1IujDKscSJpS/ibXToOl8qoRDwMStAi6Ym2wx"
+django_user_data_archive_max_age_days: 90
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Aaron Frank', 'afrankz@umich.edu')]"
 portal_title: "SMALTR Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/snowvision/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/snowvision/vars.yml
index 76fec55..2cd1274 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/snowvision/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/snowvision/vars.yml
@@ -41,6 +41,7 @@
 gateway_id: "snowvision"
 experiment_data_dir: "{{ user_data_dir }}/snowvision"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCovd8MvofK9SPJZiElqP4rd3xpaHZ7qXK0RFxRQxcCTcAJbDMGubZlo1+N0Io02ZIVkKfdtbee+sznpQ6ri6MMaK1xnYmfyMT5yj/pUZo+g/jIC0PMYQcHpnq49U7Fz2BBYqbc9EAAcU35X4ctof1/UwlWMFa+gegky8NngHBZmZSpgIzVb5jlgti14OD5ETVFG4YvZ2ZRhkQESSuZPFdjxiXoDqsJkF80cD+JTu5LWha1UwhAC2yrGZuI/16WABzx/zUGOS0NK0RYS/giIzVGQSYVp9S8GgZKuvJx3xk7nW6HOMbjpVeukjkWareIkVAWXgFIMptX0QRhL4mcjCIB"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC','sgrc-iu-group@iu.edu')]"
 portal_title: "SnowVision Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/testdrive/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/testdrive/vars.yml
index ba2a2aa..0ffc743 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/testdrive/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/testdrive/vars.yml
@@ -47,6 +47,7 @@
 gateway_id: "default"
 experiment_data_dir: "{{ user_data_dir }}/testdrive"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUF51b2cYYqqadLHL9M/oPY0ZHZlWbdOdaIgjpzIzMnO7M9hKrHVY2pqyLPvqCLzaunxITPWsTqw0E8hwub4ttGLAx/O4kIf+BgyZK7iuwXWhI7u85/o58IfrD4B+jVCYKRNayuLR+lJWsiOeS6HSlunpTKTEhFGeOHn2UzdbLfgWYQ3VUFDtKN1oDPDT78ml5c2RCibJ21jltpevVfEtCUctERpTfniWSuQZggP1qiLNa1+PfiJ3mGsEzJFDntQvQetdinaAbEaT7+sctS8nBNjapkmYMf6tBl3S0bLttYPH51f8lUQAFaAzrestO1JpJNnIeY01/S3MWIlAWASnn"
+django_user_data_archive_max_age_days: 90
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu')]"
 portal_title: "Airavata Test Drive Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vars.yml
index 7de5979..09d19a1 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vars.yml
@@ -44,6 +44,7 @@
 gateway_id: "tsunami"
 experiment_data_dir: "{{ user_data_dir }}/tsunami"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4/mMdvcRHp7ThTToIRpmO+O46pme1Oo649yFLNoFlnIYHxT3cUnxYbxrxgcw83PwwFTK4FV04ITUEyOmD9Qoa1liwdrCvEqR31eTD+GkUVVGUgCp+GvqCWnZkEJ8+z/VBLuJjK0HxpT+9kSh0DChoZ6k64/dsNrA4l1YE0EBrOfLKSGJ0Ik2tlKxbIrwTe8ZDWu2iVKFMnFaLbsWoraQ+sYWTbW+1BCYAxsT9ykH4KOYE/YPBUECr8zVzBSXSxyNPtuySvy0PzNjLrm8nN4uIr5wgrFqi2iL2i2vQyFMTJJToyvcBVLK3eCw+AmYrlHZq49E8+uAhfDhDahy4WraJ"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "TSUNAMI Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ultrascan/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ultrascan/vars.yml
index d555b10..daa20e4 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/ultrascan/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ultrascan/vars.yml
@@ -46,6 +46,7 @@
 gateway_id: "ultrascan"
 experiment_data_dir: "{{ user_data_dir }}/ultrascan"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrWuccVtWQMpOgx9eueQgwS/Kj/ONcY2xOHgkQ1wmorhvWjtU4Sr3mtu/6QvU3suzpclZQkl237ONbPa7J9h1sGINiel4Crrc6P8EWvL/vT/wW2K+8AiG5ktAtMnsCroLnebD0tfVj1vj0BDJmG6g47JBKptPayY64eU43NZ2E9QroB55esDN+IF52w/VDZtjqAp1wsXTvvwqnNoC1hbHyx12JzMKJHdZAp/lRkssNj7WZxwyQDcwaAli5VA1sie0NjduvBgSlHy7kEjdv5yrVov/kIvSq9AEUi9UI+BjJFpCGjGYJbJlh2hJepeMYC6FFE+cTgI+5ZFSVw1qLivL3"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "Ultrascan Portal"
diff --git a/dev-tools/ansible/inventories/scigap/production/hosts b/dev-tools/ansible/inventories/scigap/production/hosts
index e6fdce4..adbaa50 100644
--- a/dev-tools/ansible/inventories/scigap/production/hosts
+++ b/dev-tools/ansible/inventories/scigap/production/hosts
@@ -26,40 +26,40 @@
 
 [django]
 ampgateway ansible_host=156.56.104.84
-csbglsu ansible_host=156.56.104.84
+# csbglsu ansible_host=156.56.104.84
 # disable distantreader deploy
 # distantreader ansible_host=156.56.104.84
-epwgateway ansible_host=156.56.104.84
+# epwgateway ansible_host=156.56.104.84
 georgiastate ansible_host=156.56.104.84
-hubzero ansible_host=156.56.104.84
+# hubzero ansible_host=156.56.104.84
 interactwel ansible_host=156.56.104.84
-iugateway ansible_host=156.56.104.84
-kentucky ansible_host=156.56.104.84
-mines ansible_host=156.56.104.84
-nanoconfinement ansible_host=156.56.104.84
-nanoshape ansible_host=156.56.104.84
-ncsaindustry ansible_host=156.56.104.84
-newmexicostate ansible_host=156.56.104.84
+# iugateway ansible_host=156.56.104.84
+# kentucky ansible_host=156.56.104.84
+# mines ansible_host=156.56.104.84
+# nanoconfinement ansible_host=156.56.104.84
+# nanoshape ansible_host=156.56.104.84
+# ncsaindustry ansible_host=156.56.104.84
+# newmexicostate ansible_host=156.56.104.84
 nexttdb ansible_host=156.56.104.84
 # oscer ansible_host=156.56.104.84
-phasta ansible_host=156.56.104.84
-r-hpc ansible_host=156.56.104.84
-saverx ansible_host=156.56.104.84
+# phasta ansible_host=156.56.104.84
+# r-hpc ansible_host=156.56.104.84
+# saverx ansible_host=156.56.104.84
 sdstate ansible_host=156.56.104.84
 seagrid ansible_host=156.56.104.84
 searchsra ansible_host=156.56.104.84
 snowvision ansible_host=156.56.104.84
 southdakota ansible_host=156.56.104.84
 testdrive ansible_host=156.56.104.84
-uab ansible_host=156.56.104.84
-wvsu ansible_host=156.56.104.84
+#uab ansible_host=156.56.104.84
+#wvsu ansible_host=156.56.104.84
 pace-gatech ansible_host=156.56.104.84
-smaltr ansible_host=156.56.104.84
-toppic ansible_host=156.56.104.84
+#smaltr ansible_host=156.56.104.84
+#toppic ansible_host=156.56.104.84
 microbial-genomes ansible_host=156.56.104.84
-v4i ansible_host=156.56.104.84
+#v4i ansible_host=156.56.104.84
 physicell ansible_host=156.56.104.84
-pathogenomics ansible_host=156.56.104.84
+# pathogenomics ansible_host=156.56.104.84
 bcbportal ansible_host=156.56.104.84
 lrose ansible_host=156.56.104.84
 tsunami ansible_host=156.56.104.84
@@ -68,14 +68,17 @@
 immune ansible_host=156.56.104.84
 regsnps ansible_host=156.56.104.84
 global-flood ansible_host=156.56.104.84
-louisiana-state ansible_host=156.56.104.84
-hicops-deepsnap ansible_host=156.56.104.84
+# louisiana-state ansible_host=156.56.104.84
+# hicops-deepsnap ansible_host=156.56.104.84
 ultrascan ansible_host=156.56.104.84
-unggateway ansible_host=156.56.104.84
-ucmerced ansible_host=156.56.104.84
-deeppdb ansible_host=156.56.104.84
+#unggateway ansible_host=156.56.104.84
+# ucmerced ansible_host=156.56.104.84
+# deeppdb ansible_host=156.56.104.84
 ehtgateway ansible_host=156.56.104.84
 neuroscience-cybershuttle ansible_host=156.56.104.84
+ai-confluence ansible_host=156.56.104.84
+molecular-dynamics ansible_host=156.56.104.84
+nasa-veda ansible_host=156.56.104.84
 
 # smiles server
 smiles ansible_host=scigap13.sciencegateways.iu.edu ansible_user=root
@@ -86,14 +89,14 @@
 # Baysprism Jetstream2 server
 bayesprism ansible_host=149.165.155.90 ansible_user=exouser
 
-# dreg jetstream server
-dreg ansible_host=149.165.154.48 ansible_user=exouser
+# dreg jetstream server The old is 149.165.154.48
+dreg ansible_host=149.165.171.97 ansible_user=exouser
 
 # futurewater jetstream server
 futurewater ansible_host=149.165.154.212 ansible_user=exouser
 
 # Delta Jetstream server
-delta ansible_host=149.165.153.181 ansible_user=exouser
+# delta ansible_host=149.165.153.181 ansible_user=exouser
 
 # Container-Tutorial Jetstream server
 # This JS1 VM no longer exists
@@ -103,6 +106,6 @@
 simccs ansible_host=scigap11.sciencegateways.iu.edu ansible_user=root
 
 # simvascular server
-simvascular ansible_host=simvascular.stanford.edu ansible_user=gateway
+# simvascular ansible_host=simvascular.stanford.edu ansible_user=gateway
 # we can remove this once the migration is complete
 simvascular_old ansible_host=156.56.104.84
diff --git a/dev-tools/ansible/roles/api-orch/defaults/main.yml b/dev-tools/ansible/roles/api-orch/defaults/main.yml
index e1c0476..0f6fa21 100644
--- a/dev-tools/ansible/roles/api-orch/defaults/main.yml
+++ b/dev-tools/ansible/roles/api-orch/defaults/main.yml
@@ -47,3 +47,13 @@
 
 thrift_client_pool_abandoned_removal_enabled: false
 thrift_client_pool_abandoned_removal_logged: false
+
+api_server_public_hostname: "localhost"
+haproxy_api_server_ssl_cert: "/etc/ssl/{{ api_server_public_hostname }}/{{ api_server_public_hostname }}.pem"
+api_server_letsencrypt_ssl_cert: "/etc/letsencrypt/live/{{ api_server_public_hostname }}/cert.pem"
+haproxy_service_name:
+ CentOS_7: haproxy18
+ Rocky_8: haproxy
+haproxy_config_dir:
+ CentOS_7: /etc/haproxy18/
+ Rocky_8: /etc/haproxy/
diff --git a/dev-tools/ansible/roles/api-orch/files/prepareLetsEncryptCertificates.sh b/dev-tools/ansible/roles/api-orch/files/prepareLetsEncryptCertificates.sh
new file mode 100644
index 0000000..8138751
--- /dev/null
+++ b/dev-tools/ansible/roles/api-orch/files/prepareLetsEncryptCertificates.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+umask 077
+
+# Loop through all Let's Encrypt certificates
+for CERTIFICATE in `find /etc/letsencrypt/live/* -type d`; do
+
+  CERTIFICATE=`basename $CERTIFICATE`
+
+  # Combine certificate and private key to single file
+  mkdir -p /etc/ssl/$CERTIFICATE/
+  cat /etc/letsencrypt/live/$CERTIFICATE/fullchain.pem /etc/letsencrypt/live/$CERTIFICATE/privkey.pem > /etc/ssl/$CERTIFICATE/$CERTIFICATE.pem
+
+done
diff --git a/dev-tools/ansible/roles/api-orch/handlers/main.yml b/dev-tools/ansible/roles/api-orch/handlers/main.yml
new file mode 100644
index 0000000..08d9f9e
--- /dev/null
+++ b/dev-tools/ansible/roles/api-orch/handlers/main.yml
@@ -0,0 +1,25 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+- name: restart haproxy
+  service: name={{ haproxy_service_name[ansible_distribution + "_" + ansible_distribution_major_version]}} state=reloaded enabled=yes
+  become: yes
+  become_user: root
diff --git a/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Centos_7.yml b/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Centos_7.yml
new file mode 100644
index 0000000..9776dd4
--- /dev/null
+++ b/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Centos_7.yml
@@ -0,0 +1,29 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+- name: yum install haproxy18 (Centos 7)
+  yum: name=haproxy18 state=present
+  become: true
+  become_user: root
+
+
+...
diff --git a/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Rocky_8.yml b/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Rocky_8.yml
new file mode 100644
index 0000000..8d48c47
--- /dev/null
+++ b/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Rocky_8.yml
@@ -0,0 +1,32 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+- name: dnf install haproxy (Rocky 8)
+  dnf: name={{ package }} state=latest
+  loop:
+    - haproxy
+  loop_control:
+    loop_var: package
+  become: true
+  become_user: root
+
+...
diff --git a/dev-tools/ansible/roles/api-orch/tasks/main.yml b/dev-tools/ansible/roles/api-orch/tasks/main.yml
index f121fcb..3128c8a 100644
--- a/dev-tools/ansible/roles/api-orch/tasks/main.yml
+++ b/dev-tools/ansible/roles/api-orch/tasks/main.yml
@@ -82,6 +82,66 @@
           owner={{ user }}
           group={{ group }}
 
+# Create a SSL certificate for the api server
+
+- name: allow http for Let's Encrypt certificate renewal
+  firewalld:
+    zone: public
+    permanent: yes
+    state: enabled
+    immediate: yes
+    service: http
+  become_user: root
+
+- name: copy prepareLetsEncryptCertificates.sh script
+  copy:
+    src: prepareLetsEncryptCertificates.sh
+    dest: "{{ haproxy_config_dir[ansible_distribution + '_' + ansible_distribution_major_version]}}"
+    mode: 755
+  become_user: root
+
+- name: check if SSL certificate exists
+  stat:
+    path: "{{ api_server_letsencrypt_ssl_cert }}"
+  register: stat_api_server_ssl_cert_result
+  become_user: root
+
+- name: generate certificate if it doesn't exist
+  command: certbot --standalone --non-interactive --agree-tos --email "{{ letsencrypt_email }}" -d {{ api_server_public_hostname }} certonly
+  become_user: root
+  when: not stat_api_server_ssl_cert_result.stat.exists
+
+- name: set certificate renewal post-hook
+  command: certbot renew --force-renewal --installer null --standalone --post-hook "{{ haproxy_config_dir[ansible_distribution + '_' + ansible_distribution_major_version]}}/prepareLetsEncryptCertificates.sh && systemctl reload {{ haproxy_service_name[ansible_distribution + '_' + ansible_distribution_major_version]}}.service" --quiet
+  become_user: root
+  # Renewal might fail due to rate limiting, which is fine since we only need to set the post-hook
+  ignore_errors: true
+
+# Use HAProxy to proxy SSL port to non-SSL port
+- name: allow haproxy to bind to TCP ports
+  seboolean:
+    name: haproxy_connect_any
+    state: yes
+    persistent: yes
+  become_user: root
+  when: ansible_os_family == "RedHat"
+
+- name: Install HAProxy
+  include_tasks: haproxy/install_deps_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}.yml
+
+- name: Copy HAProxy config file
+  template: src=haproxy.cfg.j2
+            dest={{ haproxy_config_dir[ansible_distribution + "_" + ansible_distribution_major_version]}}/haproxy.cfg
+            backup=true
+  become_user: root
+  notify:
+    - restart haproxy
+
+- name: start haproxy
+  service: name={{ haproxy_service_name[ansible_distribution + "_" + ansible_distribution_major_version]}} state=started enabled=yes daemon_reload=yes
+  become: true
+  become_user: root
+
 - name: allow only selected networks to access Airavata Sharing Registry
   firewalld:
     zone: public
diff --git a/dev-tools/ansible/roles/api-orch/templates/haproxy.cfg.j2 b/dev-tools/ansible/roles/api-orch/templates/haproxy.cfg.j2
new file mode 100644
index 0000000..d735289
--- /dev/null
+++ b/dev-tools/ansible/roles/api-orch/templates/haproxy.cfg.j2
@@ -0,0 +1,75 @@
+#---------------------------------------------------------------------
+# Example configuration for a possible web application.  See the
+# full configuration options online.
+#
+#   https://www.haproxy.org/download/1.8/doc/configuration.txt
+#
+#---------------------------------------------------------------------
+
+#---------------------------------------------------------------------
+# Global settings
+#---------------------------------------------------------------------
+global
+    # to have these messages end up in /var/log/haproxy.log you will
+    # need to:
+    #
+    # 1) configure syslog to accept network log events.  This is done
+    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
+    #    /etc/sysconfig/syslog
+    #
+    # 2) configure local2 events to go to the /var/log/haproxy.log
+    #   file. A line like the following can be added to
+    #   /etc/sysconfig/syslog
+    #
+    #    local2.*                       /var/log/haproxy.log
+    #
+    log         127.0.0.1 local2
+
+    chroot      /var/lib/haproxy
+    pidfile     /var/run/haproxy.pid
+    maxconn     4000
+    user        haproxy
+    group       haproxy
+    daemon
+
+    # turn on stats unix socket
+    stats socket /var/lib/haproxy/stats
+
+    # utilize system-wide crypto-policies
+    # ssl-default-bind-ciphers PROFILE=SYSTEM
+    # ssl-default-server-ciphers PROFILE=SYSTEM
+
+#---------------------------------------------------------------------
+# common defaults that all the 'listen' and 'backend' sections will
+# use if not designated in their block
+#---------------------------------------------------------------------
+defaults
+    log                     global
+    option                  httplog
+    option                  dontlognull
+    option http-server-close
+    option forwardfor       except 127.0.0.0/8
+    option                  redispatch
+
+#---------------------------------------------------------------------
+# main frontend which proxys to the backends
+#---------------------------------------------------------------------
+frontend main
+  mode tcp
+  log global
+  option tcplog
+  bind *:{{ api_server_tls_port }} ssl crt {{ haproxy_api_server_ssl_cert }}
+  default_backend fix-backend
+
+#---------------------------------------------------------------------
+# static backend for serving up images, stylesheets and such
+#---------------------------------------------------------------------
+
+#---------------------------------------------------------------------
+# round robin balancing between the various backends
+#---------------------------------------------------------------------
+backend fix-backend
+  mode tcp
+  log global
+  option tcplog
+  server quickfix {{ api_server_host }}:{{ api_server_port }} check
diff --git a/dev-tools/ansible/roles/django/tasks/main.yml b/dev-tools/ansible/roles/django/tasks/main.yml
index 30250ef..0ede03b 100644
--- a/dev-tools/ansible/roles/django/tasks/main.yml
+++ b/dev-tools/ansible/roles/django/tasks/main.yml
@@ -371,4 +371,4 @@
     mode: 0755
   become: yes
   become_user: root
-  when: django_user_data_archive_max_age_days
+  when: django_user_data_archive_max_age_days and django_user_data_archive_max_age_days|int > 0
diff --git a/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2 b/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
index 2c2f73f..0764c34 100644
--- a/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
+++ b/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
@@ -43,7 +43,7 @@
 
 <VirtualHost *:{{ httpd_default_http_port }}>
     ServerName {{ vhost_servername }}
-    
+
     ## Redirect all http traffic to https
     RewriteEngine On
     RewriteCond %{HTTPS} off
@@ -99,7 +99,15 @@
     {% endif %}
     {% endfor %}
 
-    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
+    WSGIDaemonProcess {{ vhost_servername }} \
+            display-name=%{GROUP} \
+            python-home={{ doc_root_dir }}/venv \
+            python-path={{ doc_root_dir }}/airavata-django-portal \
+            processes={{ django_wsgi_processes }} \
+            user={{ user }} \
+            group={{ group }} \
+            lang=en_US.UTF-8 \
+            locale=en_US.UTF-8
     WSGIProcessGroup {{ vhost_servername }}
 
     WSGIScriptAlias / {{ doc_root_dir }}/airavata-django-portal/django_airavata/wsgi.py
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 70b25fc..97d65b2 100644
--- a/dev-tools/ansible/roles/django/templates/settings_local.py.j2
+++ b/dev-tools/ansible/roles/django/templates/settings_local.py.j2
@@ -184,11 +184,11 @@
 GOOGLE_ANALYTICS_TRACKING_ID = "{{ django_google_analytics_tracking_id }}"
 {% endif %}
 
-{% if django_user_data_archive_max_age_days %}
+{% if django_user_data_archive_max_age_days and django_user_data_archive_max_age_days|int > 0 %}
 GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS = {{ django_user_data_archive_max_age_days }}
+{% endif %}
 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 %}
diff --git a/dev-tools/ansible/roles/httpd/tasks/main.yml b/dev-tools/ansible/roles/httpd/tasks/main.yml
index c7236d0..70bc08f 100644
--- a/dev-tools/ansible/roles/httpd/tasks/main.yml
+++ b/dev-tools/ansible/roles/httpd/tasks/main.yml
@@ -32,7 +32,7 @@
   ignore_errors: yes
 
 - name: create default ssl vhost certificate
-  command: openssl req -x509 -sha256 -newkey rsa:2048 -keyout {{ httpd_default_ssl_vhost_certificate_key_location[ansible_os_family]}} -out {{ httpd_default_ssl_vhost_certificate_location[ansible_os_family]}} -days 1024 -nodes -subj '/CN={{ ansible_host }}'
+  command: openssl req -x509 -sha256 -newkey rsa:2048 -keyout {{ httpd_default_ssl_vhost_certificate_key_location[ansible_os_family]}} -out {{ httpd_default_ssl_vhost_certificate_location[ansible_os_family]}} -days 1024 -nodes -subj '/CN={{ inventory_hostname }}'
   become: yes
   when: default_vhost_ssl_cert_check is failed
 
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBInitializer.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBInitializer.java
index 7cc993a..18cb994 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBInitializer.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBInitializer.java
@@ -60,7 +60,9 @@
             }
 
         } catch (Exception e) {
-            throw new RuntimeException("Failed to initialize database for " + initScriptPrefix, e);
+            String message = "Failed to initialize database for " + initScriptPrefix;
+            logger.error(message, e);
+            throw new RuntimeException(message, e);
         } finally {
             if (conn != null) {
                 DBUtil.cleanup(conn);
diff --git a/modules/ide-integration/README.md b/modules/ide-integration/README.md
index e661c4d..6ac08fa 100644
--- a/modules/ide-integration/README.md
+++ b/modules/ide-integration/README.md
@@ -60,7 +60,7 @@
 * Apply any database migrations. Go to src/main/containers directory and run
 
   ```
-  cat ./database_scripts/init/*-migrations.sql | docker exec -i resources_db_1 mysql -p123456
+  cat ./database_scripts/init/*-migrations.sql | docker exec -i containers-db-1 mysql -p123456
   ```
 
 * Wait until all the services come up. This will initialize all utilities required to start Airavata server
diff --git a/modules/ide-integration/src/main/containers/database_scripts/init/05-replica-catalog-migrations.sql b/modules/ide-integration/src/main/containers/database_scripts/init/05-replica-catalog-migrations.sql
new file mode 100644
index 0000000..db5e878
--- /dev/null
+++ b/modules/ide-integration/src/main/containers/database_scripts/init/05-replica-catalog-migrations.sql
@@ -0,0 +1,35 @@
+USE replica_catalog;
+
+-- AIRAVATA-3697: Support file names that have UTF8 characters and that are long
+SET
+  FOREIGN_KEY_CHECKS = 0;
+
+ALTER DATABASE replica_catalog CHARACTER SET = utf8 COLLATE = utf8_bin;
+
+ALTER TABLE
+  DATA_PRODUCT CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+ALTER TABLE
+  DATA_REPLICA_LOCATION CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+ALTER TABLE
+  DATA_PRODUCT_METADATA CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+ALTER TABLE
+  DATA_REPLICA_METADATA CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+ALTER TABLE
+  CONFIGURATION CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+SET
+  FOREIGN_KEY_CHECKS = 1;
+
+ALTER TABLE
+  DATA_REPLICA_LOCATION
+MODIFY
+  REPLICA_NAME text;
+
+ALTER TABLE
+  DATA_PRODUCT
+MODIFY
+  PRODUCT_NAME text;
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java
index ba10d59..e5c2eea 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java
@@ -43,6 +43,7 @@
     @Column(name = "GATEWAY_ID")
     private String gatewayId;
 
+    @Lob
     @Column(name = "PRODUCT_NAME")
     private String productName;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
index ca0360b..d943163 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
@@ -43,6 +43,7 @@
     @Column(name = "PRODUCT_URI")
     private String productUri;
 
+    @Lob
     @Column(name = "REPLICA_NAME")
     private String replicaName;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/ReplicaCatalogDBInitConfig.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/ReplicaCatalogDBInitConfig.java
index 6b38fc6..fc22b5e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/ReplicaCatalogDBInitConfig.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/ReplicaCatalogDBInitConfig.java
@@ -24,7 +24,7 @@
 
 public class ReplicaCatalogDBInitConfig implements DBInitConfig {
 
-    public static final String CHECK_TABLE = "DATA_PRODUCT";
+    public static final String CHECK_TABLE = "CONFIGURATION";
     private String dbInitScriptPrefix = "database_scripts/replicacatalog";
 
     @Override
diff --git a/modules/registry/registry-core/src/main/resources/replicacatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/replicacatalog-mysql.sql
index c389070..7c8a0ee 100644
--- a/modules/registry/registry-core/src/main/resources/replicacatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/replicacatalog-mysql.sql
@@ -18,12 +18,10 @@
  * under the License.
  *
  */
-
-CREATE TABLE DATA_PRODUCT
-(
+CREATE TABLE DATA_PRODUCT (
         PRODUCT_URI VARCHAR (255),
         GATEWAY_ID VARCHAR (255),
-        PRODUCT_NAME VARCHAR (255),
+        PRODUCT_NAME TEXT,
         PRODUCT_DESCRIPTION VARCHAR (255),
         OWNER_NAME VARCHAR (255),
         PARENT_PRODUCT_URI VARCHAR (255),
@@ -33,13 +31,12 @@
         PRODUCT_TYPE VARCHAR(10),
         PRIMARY KEY (PRODUCT_URI),
         FOREIGN KEY (PARENT_PRODUCT_URI) REFERENCES DATA_PRODUCT (PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_bin;
 
-CREATE TABLE DATA_REPLICA_LOCATION
-(
+CREATE TABLE DATA_REPLICA_LOCATION (
         REPLICA_ID VARCHAR (255),
         PRODUCT_URI VARCHAR (255) NOT NULL,
-        REPLICA_NAME VARCHAR (255),
+        REPLICA_NAME TEXT,
         REPLICA_DESCRIPTION VARCHAR (255),
         STORAGE_RESOURCE_ID VARCHAR (255),
         FILE_PATH VARCHAR (1024),
@@ -50,31 +47,31 @@
         REPLICA_PERSISTENT_TYPE VARCHAR(10),
         PRIMARY KEY (REPLICA_ID),
         FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_bin;
 
-CREATE TABLE DATA_PRODUCT_METADATA
-(
+CREATE TABLE DATA_PRODUCT_METADATA (
         PRODUCT_URI VARCHAR(255) NOT NULL,
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(255),
         PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
         FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_bin;
 
-CREATE TABLE DATA_REPLICA_METADATA
-(
+CREATE TABLE DATA_REPLICA_METADATA (
         REPLICA_ID VARCHAR(255) NOT NULL,
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(255),
         PRIMARY KEY(REPLICA_ID, METADATA_KEY),
         FOREIGN KEY (REPLICA_ID) REFERENCES DATA_REPLICA_LOCATION(REPLICA_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_bin;
 
-CREATE TABLE CONFIGURATION
-(
+CREATE TABLE CONFIGURATION (
         CONFIG_KEY VARCHAR(255),
         CONFIG_VAL VARCHAR(255),
         PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_bin;
 
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('data_catalog_version', '0.16');
+INSERT INTO
+        CONFIGURATION (CONFIG_KEY, CONFIG_VAL)
+VALUES
+('data_catalog_version', '0.16');
diff --git a/modules/registry/release-migration-scripts/next/DeltaScripts/experimentCatalog_schema_delta.sql b/modules/registry/release-migration-scripts/next/DeltaScripts/experimentCatalog_schema_delta.sql
index 256ecf0..95290b3 100644
--- a/modules/registry/release-migration-scripts/next/DeltaScripts/experimentCatalog_schema_delta.sql
+++ b/modules/registry/release-migration-scripts/next/DeltaScripts/experimentCatalog_schema_delta.sql
@@ -17,5 +17,22 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --
+USE experiment_catalog;
 
-use experiment_catalog;
+CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_SCHEDULING (
+    EXPERIMENT_ID varchar(255) NOT NULL,
+    RESOURCE_HOST_ID varchar(255) NOT NULL,
+    TOTAL_CPU_COUNT INT,
+    NODE_COUNT INT,
+    NUMBER_OF_THREADS INT,
+    QUEUE_NAME varchar(255) NOT NULL,
+    WALL_TIME_LIMIT INT,
+    TOTAL_PHYSICAL_MEMORY INT,
+    STATIC_WORKING_DIR varchar(255),
+    OVERRIDE_LOGIN_USER_NAME varchar(255),
+    OVERRIDE_SCRATCH_LOCATION varchar(255),
+    OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
+    PARALLEL_GROUP_COUNT INT,
+    PRIMARY KEY (EXPERIMENT_ID, RESOURCE_HOST_ID, QUEUE_NAME),
+    FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
+) ENGINE = InnoDB DEFAULT CHARSET = latin1;
diff --git a/modules/registry/release-migration-scripts/next/DeltaScripts/replicaCatalog_schema_delta.sql b/modules/registry/release-migration-scripts/next/DeltaScripts/replicaCatalog_schema_delta.sql
index 942ff54..3b46452 100644
--- a/modules/registry/release-migration-scripts/next/DeltaScripts/replicaCatalog_schema_delta.sql
+++ b/modules/registry/release-migration-scripts/next/DeltaScripts/replicaCatalog_schema_delta.sql
@@ -17,5 +17,37 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --
+USE replica_catalog;
 
-use replica_catalog;
+SET
+    FOREIGN_KEY_CHECKS = 0;
+
+ALTER DATABASE replica_catalog CHARACTER SET = utf8 COLLATE = utf8_bin;
+
+ALTER TABLE
+    DATA_PRODUCT CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+ALTER TABLE
+    DATA_REPLICA_LOCATION CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+ALTER TABLE
+    DATA_PRODUCT_METADATA CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+ALTER TABLE
+    DATA_REPLICA_METADATA CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+ALTER TABLE
+    CONFIGURATION CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
+
+SET
+    FOREIGN_KEY_CHECKS = 1;
+
+ALTER TABLE
+    DATA_REPLICA_LOCATION
+MODIFY
+    REPLICA_NAME text;
+
+ALTER TABLE
+    DATA_PRODUCT
+MODIFY
+    PRODUCT_NAME text;