# Copyright © 2018 AT&T USA
# Copyright © 2020 Huawei
# Copyright © 2021 Orange
# Licensed 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.
#################################################################
# Global configuration defaults.
#################################################################
global:
  aafAgentImage: onap/aaf/aaf_agent:2.1.20
  msbEnabled: true
  security:
    aaf:
      enabled: false
  app:
    msoKey: 07a7159d3bf51a0e53be7a8f89699be7
  client:
    certs:
      truststore: /app/client/org.onap.so.trust.jks
      keystore: /app/client/org.onap.so.jks
      trustStorePassword: LHN4Iy5DKlcpXXdWZ0pDNmNjRkhJIzpI
      keyStorePassword: c280b25hcA==
  certificates:
    path: /etc/ssl/certs
    share_path: /usr/local/share/ca-certificates/


#################################################################
# AAF part
#################################################################
certInitializer:
  aafDeployFqi: deployer@people.osaaf.org
  aafDeployPass: demo123456!
  # aafDeployCredsExternalSecret: some secret
  fqdn: so
  fqi: so@so.onap.org
  public_fqdn: so.onap.org
  cadi_longitude: '0.0'
  cadi_latitude: '0.0'
  app_ns: org.osaaf.aaf
  credsPath: /opt/app/osaaf/local
  trustStoreAllPass: changeit
  aaf_add_config: |
    echo "cadi_truststore_password=$cadi_truststore_password" > {{ .Values.credsPath }}/mycreds.prop
    echo "cadi_keystore_password_p12=$cadi_keystore_password_p12" > {{ .Values.credsPath }}/mycreds.prop

aafConfig:
  permission_user: 1000
  permission_group: 999

aaf:
  trustore: org.onap.so.trust.jks
  keyFile: org.onap.so.keyfile

#################################################################
# Application configuration defaults.
#################################################################

livenessProbe:
  path: /manage/health
  scheme: HTTP
  initialDelaySeconds: 600
  periodSeconds: 60
  timeoutSeconds: 10
  successThreshold: 1
  failureThreshold: 3

cadi:
  logLevel: DEBUG
  latitude: 38.4329
  longitude: -90.43248
  aafEnv: IST
  aafApiVersion: 2.1
  aafRootNs: org.onap.so
  aafLocateUrl: https://aaf-locate.onap:8095
  aafUrl: https://aaf-locate.onap:8095/locate/org.osaaf.aaf.service:2.1
  aafId: so@so.onap.org
  aafPassword: enc:EME-arXn2lx8PO0f2kEtyK7VVGtAGWavXorFoxRmPO9
  apiEnforcement: org.onap.so.apihPerm
  noAuthn: /manage/health
