# Copyright © 2017 Amdocs, Bell Canada
# Modifications © 2020 AT&T
# Modifications Copyright © 2020 Nokia
#
# 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
  persistence:
    enabled: true
  # Standard OOM
  pullPolicy: "Always"

  cmpv2Enabled: true
  addTestingComponents: false
  aaf:
    readiness: false
    image: onap/aaf/aaf_core:2.1.23
    aaf_env: "DEV"
    public_fqdn: "aaf.osaaf.org"
    aaf_release: "Frankfurt"
  # DUBLIN ONLY - for M4 compatibility with Casablanca
  #  aaf_locator_name: "public.%NS.%N"
  #  aaf_locator_name_oom: "%NS.%N"
  # EL ALTO and Beyond
    aaf_locator_name: "%NS.%N"
    aaf_locator_name_oom: "%CNS.%NS.%N"
    cadi_latitude: "38.0"
    cadi_longitude: "-72.0"
    cadi_x509_issuers: "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US"

    config:
      image: onap/aaf/aaf_config:2.1.23

    service:
      fqdn: "aaf-service"
      internal_port: 8100
      public_port: 31110
    locate:
      fqdn: "aaf-locate"
      internal_port: 8095
      public_port: 31111
    oauth:
      fqdn: "aaf-oauth"
      internal_port: 8140
      public_port: 31112

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

flavor: small
# default number of instances
replicaCount: 1

nodeSelector: {}

affinity: {}

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

readiness:
  initialDelaySeconds: 150
  periodSeconds: 10

ingress:
  enabled: false
  service:
    - baseaddr: "aaf.api"
      name: "aaf-service"
      port: 8100
  config:
    ssl: "none"

persistence: {}

resources: {}

aaf-authz:
  enabled: true
aaf-sms:
  enabled: true
aaf-sshsm:
  enabled: false
