# Copyright © 2018 Amdocs, Bell Canada , ZTE
#
# 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

#################################################################
# Application configuration defaults.
#################################################################
# application image
image: onap/msb/msb_discovery:1.3.0
pullPolicy: Always
istioSidecar: true

# application configuration
config: {}

# 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: ClusterIP
  name: msb-discovery
  externalPort: 10081
  internalPort: 10081
  nodePort: 81

ingress:
  enabled: false
  service:
    - baseaddr: "msb-discovery-api"
      name: "msb-discovery"
      port: 10081
  config:
    ssl: "none"

# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      cpu: "1"
      memory: "0.5Gi"
    requests:
      cpu: "0.5"
      memory: "0.5Gi"
  large:
    limits:
      cpu: "2"
      memory: "1Gi"
    requests:
      cpu: "1"
      memory: "1Gi"
  unlimited: {}

#Pods Service Account
serviceAccount:
  nameOverride: msb-discovery
  roles:
    - read

#Logs configuration
log:
  path: /var/log/onap
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
