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

---

airavata_django_extra_dependencies:
  # - "git+https://github.com/GeoGateway/geogateway-django-app.git@master#egg=geogateway_django_app"

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

real_user_data_dir: "/media/volume/sdb/gateway-user-data"


django_extra_settings:
  LOGIN_REDIRECT_URL: "/geogateway_django_app/"

## Keycloak related variables
tenant_domain: "beta-geo"
oauth_client_key: "{{ vault_oauth_client_key }}"
oauth_client_secret: "{{ vault_oauth_client_secret }}"

auth_options:
  password:
    name: "Beta GEO"
    hidden: true
  external:
    - name: "Existing Institute Login"
      idp_alias: "cilogon"

gateway_id: "beta-geo"
experiment_data_dir: "{{ user_data_dir }}/django-geo"
# gateway_data_store_ssh_public_key: "TODO"

portal_email_host: "smtp.gmail.com"
portal_email_port: 587
portal_email_tls: true
portal_email_username: "pga.airavata@gmail.com"
portal_email_password: "{{ vault_portal_email_password }}"
admin_emails: "[('SGRC', 'sgg@iu.edu')]"
portal_server_email: "{{ portal_email_username }}"
portal_title: "Beta GEO Gateway"
...
