# 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
  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
  readinessRepository: oomk8s
  readinessImage: readiness-check:1.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.{{ include "common.namespace" . }}
  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: https://oof-has-api.{{ include "common.namespace" . }}: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: {}
