# Copyright © 2017 Amdocs, Bell Canada
#
# 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:
  nodePortPrefix: 302

secrets:
  - uid: pg-root-pass
    name: &pgRootPassSecretName '{{ include "common.release" . }}-vnfsdk-pg-root-pass'
    type: password
    externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgRootPasswordExternalSecret) .) (hasSuffix "vnfsdk-pg-root-pass" .Values.postgres.config.pgRootPasswordExternalSecret) }}'
    password: '{{ .Values.postgres.config.pgRootpassword }}'
    policy: generate
  - uid: pg-user-creds
    name: &pgUserCredsSecretName '{{ include "common.release" . }}-vnfsdk-pg-user-creds'
    type: basicAuth
    externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "vnfsdk-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
    login: '{{ .Values.postgres.config.pgUserName }}'
    password: '{{ .Values.postgres.config.pgUserPassword }}'
    passwordPolicy: generate

#################################################################
# AAF part
#################################################################
certInitializer:
  nameOverride: refrepo-cert-initializer
  aafDeployFqi: deployer@people.osaaf.org
  aafDeployPass: demo123456!
  # aafDeployCredsExternalSecret: some secret
  fqdn: refrepo
  fqi: refrepo@refrepo.onap.org
  fqi_namespace: org.onap.refrepo
  public_fqdn: refrepo.onap.org
  cadi_longitude: "0.0"
  cadi_latitude: "0.0"
  app_ns: org.osaaf.aaf
  credsPath: /opt/app/osaaf/local
  aaf_add_config: |
    echo "*** transform AAF certs into pem files"
    mkdir -p {{ .Values.credsPath }}/certs
    echo "keystore password: $$cadi_keystore_password_p12"
    openssl pkcs12 -in {{ .Values.credsPath }}/{{ .Values.fqi_namespace }}.p12 \
      -nokeys -out {{ .Values.credsPath }}/certs/cert.pem \
      -passin pass:$cadi_keystore_password_p12 \
      -passout pass:$cadi_keystore_password_p12
    echo "*** copy key"
    cp {{ .Values.credsPath }}/{{ .Values.fqi_namespace }}.key \
      {{ .Values.credsPath }}/certs/cert.key
    echo "*** change ownership of certificates to targeted user"
    chown -R 999 {{ .Values.credsPath }}/certs


#################################################################
# Application configuration defaults.
#################################################################
# application image
image: onap/vnfsdk/refrepo:1.6.3
pullPolicy: Always

# application configuration override for postgres
postgres:
  nameOverride: vnfsdk-postgres
  service:
    name: vnfsdk-dbset
    name2: vnfsdk-dbpri
    name3: vnfsdk-dbrep
  container:
    name:
      primary: vnfsdk-dbpri
      replica: vnfsdk-dbrep
  persistence:
    mountSubPath: vnfsdk/data
    mountInitPath: vnfsdk
  config:
    pgUserName: postgres
    pgDatabase: postgres
    pgUserExternalSecret: *pgUserCredsSecretName
    pgRootPasswordExternalSecret: *pgRootPassSecretName

# flag to enable debugging - application support required
debugEnabled: false

nodeSelector: {}

affinity: {}

# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      cpu: 2000m
      memory: 4Gi
    requests:
      cpu: 500m
      memory: 1Gi
  large:
    limits:
      cpu: 4000m
      memory: 8Gi
    requests:
      cpu: 1000m
      memory: 2Gi
  unlimited: {}

# probe configuration parameters
liveness:
  initialDelaySeconds: 10
  periodSeconds: 10
  # necessary to disable liveness probe when setting breakpoints
  # in debugger so K8s doesn't restart unresponsive container
  enabled: true

readiness:
  initialDelaySeconds: 60
  periodSeconds: 30

service:
  type: NodePort
  name: refrepo
  portName: https
  nodePort: 97
  internalPort: 8703

ingress:
  enabled: false
  service:
    - baseaddr: "refrepo"
      name: "refrepo"
      port: 8703
  config:
    ssl: "redirect"