# Copyright © 2017 Amdocs, Bell Canada
# Modifications Copyright © 2018-2020 AT&T
#
# 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.2
  loggingRepository: docker.elastic.co
  loggingImage: beats/filebeat:5.5.0
  ubuntuImage: ubuntu:16.04
  pdp:
    nameOverride: pdp
  pap:
    nameOverride: pap
  drools:
    nameOverride: drools
  brmwgw:
    nameOverride: brmsgw
  nexus:
    nameOverride: nexus
  mariadb:
    # '&mariadbConfig' means we "store" the values for  later use in the file
    # with '*mariadbConfig' pointer.
    config: &mariadbConfig
      userName: policy_user
      userPassword: policy_user
      mariadbRootPassword: secret
      mysqlDatabase: policyadmin
    service: &mariadbService
      name: policy-mariadb
      portName: mysql-policy
      internalPort: 3306

#################################################################
# Application configuration defaults.
#################################################################
# application image
repository: nexus3.onap.org:10001
image: onap/policy-pe:1.6.1
mariadb_image: library/mariadb:10
pullPolicy: Always

subChartsOnly:
  enabled: true

pap:
  nameOverride: pap
pdp:
  nameOverride: pdp
drools:
  nameOverride: drools
brmwgw:
  nameOverride: brmsgw
nexus:
  nameOverride: nexus

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

# application configuration
config:
  preloadPolicies: false
  pdpPort: 8081

# 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: pap
  portName: pap
  internalPort: 8443
  externalPort: 8443
  nodePort: 19
  internalPort2: 9091
  externalPort2: 9091
  nodePort2: 18

ingress:
  enabled: false

mariadb-galera:
  # mariadb-galera.config and global.mariadb.config must be equals
  config: *mariadbConfig
  nameOverride: policy-mariadb
  # mariadb-galera.service and global.mariadb.service must be equals
  service: *mariadbService
  replicaCount: 1
  persistence:
    enabled: true
    mountSubPath: policy/maria/data
  externalConfig: |-
    [mysqld]
    lower_case_table_names = 1

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