# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
#
# 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.0
  loggingRepository: docker.elastic.co
  loggingImage: beats/filebeat:5.5.0
#################################################################
# Application configuration defaults.
#################################################################
# application image
repository: nexus3.onap.org:10001
image: onap/optf-osdf:1.3.0-SNAPSHOT-latest
pullPolicy: Always

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

# application configuration
config:
  msbgateway: msb-iag
  msbPort: 80
  placementVersioningEnabled: True
  # Placement API latest version numbers to be set in HTTP header
  placementMajorVersion: "1"
  placementMinorVersion: "0"
  placementPatchVersion: "0"
  # Placement API default version numbers to be set in HTTP header
  placementDefaultMajorVersion: "1"
  placementDefaultMinorVersion: "0"
  placementDefaultPatchVersion: "0"
  # Credentials of the callback url for SO.
  soUsername: ""   # SO username for call back.
  soPassword: ""   # SO password for call back.
  # Url and credentials for Conductor.
  conductorUrl: https://oof-has-api:8091/v1/plans/
  conductorUsername: admin1
  conductorPassword: plan.15
  conductorPingWaitTime: 60
  conductorMaxRetries: 30
  # versions to be set in HTTP header
  conductorMinorVersion: 0
  # Url and credentials for the Policy Platform
  policyPlatformUrl: https://pdp:8081/pdp/api/getConfig # Policy Dev platform URL
  policyPlatformEnv: TEST # Environment for policy platform
  policyPlatformUsername: testpdp # Policy platform username.
  policyPlatformPassword: alpha123 # Policy platform password.
  policyClientUsername: python # For use with ClientAuth
  policyClientPassword: test # For use with ClientAuth
  # Credentials for the message reader - A placeholder.
  messageReaderHosts: NA
  messageReaderTopic: NA
  messageReaderAafUserId: NA
  messageReaderAafPassword: NA
  # Credentials for the SDC interface - A placeholder.
  sdcUrl: NA
  sdcUsername: NA
  sdcPassword: NA
  sdcONAPInstanceID: NA
  # Credentials for the placement service – Generic.
  osdfPlacementUsername: "test"
  osdfPlacementPassword: "testpwd"
  # Credentials for the OOF placement service – SO.
  osdfPlacementSOUsername: so_test
  osdfPlacementSOPassword: so_testpwd
  # Credentials for the OOF placement service - VFC
  osdfPlacementVFCUsername: vfc_test
  osdfPlacementVFCPassword: vfc_testpwd
  # Credentials for the OOF CM scheduling service – Generic.
  osdfCMSchedulerUsername: test1
  osdfCMSchedulerPassword: testpwd1
  #AAF Authentication
  is_aaf_enabled: False
  aaf_cache_expiry_mins: 5
  aaf_url: https://aaf-service:8100
  aaf_user_roles:
      - '/placement:org.onap.oof.access|*|read ALL'
      - '/pci:org.onap.oof.access|*|read ALL'
  # Secret Management Service from AAF
  aaf_sms_url: https://aaf-sms
  aaf_sms_port: 10443
  aaf_sms_timeout: 30
  secret_domain: osdf
  aaf_ca_certs: /opt/app/ssl_cert/aaf_root_ca.cer
  # config db api
  configDbUrl: http://config.db.url:8080
  configDbUserName: osdf
  configDbPassword: passwd
  configDbGetCellListUrl: 'SDNCConfigDBAPI/getCellList'
  configDbGetNbrListUrl: 'SDNCConfigDBAPI/getNbrList'
  # Credentials for PCIHandler
  pciHMSUsername: ""   # pcihandler username for call back.
  pciHMSPassword: ""   # pcihandler password for call back.
  # Credentials for the OOF PCI Opt service
  osdfPCIOptUsername: pci_test
  osdfPCIOptPassword: pci_testpwd
# default number of instances
replicaCount: 1
nodeSelector: {}
affinity: {}
# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      memory: 2Gi
      cpu: 1000m
    requests:
      memory: 1Gi
      cpu: 500m
  large:
    limits:
      memory: 4Gi
      cpu: 2000m
    requests:
      memory: 2Gi
      cpu: 1000m
  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: 10
  periodSeconds: 10
service:
  type: NodePort
  name: oof-osdf
  externalPort: 8698
  internalPort: 8699
  nodePort: 48
ingress:
  enabled: false
