#
#
# 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:
  - name: "git+https://github.com/GeoGateway/geogateway-django-app.git@ui-update#egg=geogateway_django_app"
#  - name: "git+https://github.com/GeoGateway/geogateway-django-app.git@master#egg=geogateway_django_app"
    editable: true

#Git hook is not set for this gateway

#airavata_django_git_branch: "simccs"
# vhost_servername: "beta.geogateway.scigap.org"
vhost_servername: "geogateway.js2.scigap.org"
vhost_ssl: true
# sudo certbot --apache certonly -d django.simccs.scigap.org
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"

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

admin_emails: "[('SGRC', 'sgg@iu.edu')]"
portal_title: "Beta GEO Gateway"
...
