# 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:latest
pullPolicy: Always

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

# application configuration
config:
  msbgateway: msb-iag
  msbPort: 80
  # Credentials for the OOF placement service – SO.
  osdfPlacementSOUsername: so_test
  osdfPlacementSOPassword: so_testpwd
  # Credentials for the OOF CM scheduling service – Generic.
  osdfCMSchedulerUsername: test1
  osdfCMSchedulerPassword: testpwd1
  # 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
  # Url and credentials for the Policy Platform
  policyPlatformUrl: http://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"
# default number of instances
replicaCount: 1
nodeSelector: {}
affinity: {}
# 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
resources: {}
