#
#
# 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: "pathogenomics.scigap.org"
vhost_ssl: True
ssl_certificate_file: "/etc/letsencrypt/live/pathogenomics.scigap.org/cert.pem"
ssl_certificate_chain_file: "/etc/letsencrypt/live/pathogenomics.scigap.org/fullchain.pem"
ssl_certificate_key_file: "/etc/letsencrypt/live/pathogenomics.scigap.org/privkey.pem"

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

auth_options:
  password:
    name: "Pathogenomics Gateway"
  external:
    - name: "Existing Institution Credentials"
      idp_alias: "cilogon"
      logo: "images/cilogon-logo-24x24-b.png"

gateway_id: "pathogenomics"
experiment_data_dir: "{{ user_data_dir }}/pathogenomics"
gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdBkivRTDH/x7ajbhEY8b80WuxA11culrVUgH8x3GoVb0YT5VyrdLRPG/Nj2cFV2VrlGhvQg6gUv+WgIHvfp/hGFNzDH2REeZNcnvVk1LXbQm/kDl1yn+u56IcclUyi86SjLUrx89zhOg+Q5LlbpNX3LUirvbr197F6fVxprYGPsyI+abXcQWnHzW3LGocyYpYbZ+g1+nyBhA47VoWxkK278dWdZo/0XxzEKM0ZLHTplHOpx+vo1404GUvHFe1UD4rSR4o6n/7ep7D8XwjioWCrS/8bHbUHPZ8sOtM1H2qfonPUAkV3O82FiuElmKykApaaTo/UBtzMVNgq7edENfh"

admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Suresh Marru','smarru@iu.edu')]"
portal_title: "Pathogenomics Gateway"

...
