#
#
# 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_git_branch: "simccs"
vhost_servername: "cyberwater.scigap.org"
vhost_ssl: true
# sudo certbot --apache certonly -d django.simccs.scigap.org
ssl_certificate_file: "/etc/letsencrypt/live/cyberwater.scigap.org/cert.pem"
ssl_certificate_chain_file: "/etc/letsencrypt/live/cyberwater.scigap.org/fullchain.pem"
ssl_certificate_key_file: "/etc/letsencrypt/live/cyberwater.scigap.org/privkey.pem"

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

auth_options:
  password:
    name: "CyberWater"
  external:
    - name: "Existing Institute Login"
      idp_alias: "cilogon"

gateway_id: "cyberwater"
experiment_data_dir: "{{ user_data_dir }}/django-cyberwater"
# 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 }}"
portal_server_email: "{{ portal_email_username }}"
portal_title: "Beta Cyberwater Gateway"
...
