# Copyright © 2017 Amdocs, Bell Canada
# Modifications © 2020 AT&T
# Modifications Copyright © 2020 Nokia
#
# 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
  # Readiness image
  readinessRepository: oomk8s
  readinessImage: readiness-check:2.0.2
  # Ubuntu Init image
  ubuntuInitRepository: registry.hub.docker.com
  ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
  # Logging image
  loggingRepository: docker.elastic.co
  loggingImage: beats/filebeat:5.5.0
  # BusyBox image
  busyboxRepository: registry.hub.docker.com
  busyboxImage: library/busybox:1.31
  persistence:
    enabled: true
  # Standard OOM
  pullPolicy: "Always"
  repository: "nexus3.onap.org:10001"

  # Use Local
  #pullPolicy: IfNotPresent
  #repository: "nexus3.onap.org:10003"

  cmpv2Enabled: true
  addTestingComponents: false

  certService:
    certServiceClient:
      secret:
        name: oom-cert-service-client-tls-secret

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

persistence: {}

resources: {}
