# 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
  readinessRepository: oomk8s
  readinessImage: readiness-check:2.0.2
  ubuntuInitRepository: registry.hub.docker.com
  ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
  persistence:
    enabled: true
  pullPolicy: Always
  repository: "nexus3.onap.org:10001"
  # pullPolicy: IfNotPresent
  # repository: "nexus3.onap.org:10003"

  aaf:
    imageVersion: 2.1.13
    #imageVersion: latest
    readiness: false
    aaf_env: "DEV"
    public_fqdn: "aaf.osaaf.org"
    aaf_release: "Dublin"
  # 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"

    cass:
      replicas: 1
      fqdn: "aaf-cass"
      cluster_name: "osaaf"
      heap_new_size: "512M"
      max_heap_size: "1024M"
      storage_port: 7000
      ssl_storage_port: 7001
      native_trans_port: 9042
      rpc_port: 9160
      dc: "dc1"
    service:
      replicas: 1
      fqdn: "aaf-service"
      internal_port: 8100
      public_port: 31110
    locate:
      replicas: 1
      fqdn: "aaf-locate"
      internal_port: 8095
      public_port: 31111
    oauth:
      replicas: 1
      fqdn: "aaf0oauth"
      internal_port: 8140
      public_port: 31112
    gui:
      replicas: 1
      fqdn: "aaf-gui"
      internal_port: 8200
      public_port: 31113
    cm:
      replicas: 1
      fqdn: "aaf-cm"
      internal_port: 8150
      public_port: 31114
    fs:
      replicas: 1
      fqdn: "aaf-fs"
      internal_port: 8096
      public_port: 31115
    hello:
      replicas: 0
      fqdn: "aaf-hello"
      internal_port: 8130
      public_port: 31116

#################################################################
# 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

## Persist data to a persitent volume
persistence:
  enabled: true
  config:
    #existingClaim:
    volumeReclaimPolicy: Delete
    accessMode: ReadWriteMany
    size: 2Gi
    storageClass: "manual"
    mountPath: "/mnt/data/aaf/config"
  logs:
    #existingClaim:
    volumeReclaimPolicy: Retain
    accessMode: ReadWriteMany
    size: 2Gi
    storageClass: "manual"
    mountPath: "/mnt/data/aaf/logs"
  status:
    volumeReclaimPolicy: Delete
    accessMode: ReadWriteMany
    size: 2M
    storageClass: "manual"
    mountPath: /dockerdata-nfs
    mountSubPath: "status"
  cass:
    #existingClaim:
    volumeReclaimPolicy: Retain
    accessMode: ReadWriteOnce
    size: 10Gi
    storageClass: "manual"
    mountPath: /dockerdata-nfs
    mountSubPath: "cass"

resources: {}
