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

---
vhost_servername: "interactwel.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"

interactwel_django_app_branch: "master"
airavata_django_extra_dependencies:
  - name: git+https://github.com/InterACTWEL/interactactwel-django-app.git@{{ interactwel_django_app_branch }}#egg=interactwel-django-app
    editable: true

django_extra_settings:
  LOGIN_REDIRECT_URL: "/interactwel/"

## Keycloak related variables
tenant_domain: "interactwel"
oauth_client_key: "{{ vault_oauth_client_key }}"
oauth_client_secret: "{{ vault_oauth_client_secret }}"

auth_options:
  password:
    name: "InterACTWEL"
  external:
    - name: "CILogon"
      idp_alias: "cilogon"

gateway_id: "interactwel"
experiment_data_dir: "{{ user_data_dir }}/django-interactwel"
gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCK+P6aQeRRIUcm2oocxfCyHO9Kl9npX+Fc5f7jaEFgN3SfyYjah69yxvhVAWguRgXIG9xuKvzXmoSeNT0Yk1NoBTFHAtSUDy0KqIXkp5XK2Ocv/W2fblCx8v46amiv5VZToq+YK+P+XfmyfjNEv9WXo9vtIfj2RQlVk3g+GIcCQgkiIxl4XEh7+AknahqWEkzlGeqTBHtwyRXbhuvLf6M4vNoUhxn4aY8DOcJPZF1jnWB+ZiTiNBXRA7Hx/L78RWoHTf50KOO3LQ+AD7727kdIYWM4wVgRzY8pac5bIJ7ncyp//2GiUzSoXSbLV2vZDMz9CM0Ovfpg6P6Q2j5inS0J"
# Show the Data Parsers app option for Interactwel
django_hidden_airavata_apps: "[]"

portal_title: "InterACTWEL Gateway"
...
