# 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: http://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_hrs: 3
  aaf_url: https://aaf-service:8100
  aaf_user_roles:
      - '/api/oof/v1/placement:org.onap.osdf.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
