# Copyright © 2017 Amdocs, Bell Canada
#
# 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
  repository: nexus3.onap.org:10001
  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
  readinessRepository: oomk8s
  readinessImage: readiness-check:2.0.0
  loggingRepository: docker.elastic.co
  loggingImage: beats/filebeat:5.5.0
  persistence:
    mountPath: /dockerdata-nfs

#################################################################
# Application configuration defaults.
#################################################################
# application images
repository: nexus3.onap.org:10001
pullPolicy: Always
image: onap/sdnc-image:1.3-STAGING-latest

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

geoEnabled: false

# application configuration
config:
  dbRootPassword: openECOMP1.0
  enableClustering: true
  configDir: /opt/onap/sdnc/data/properties
  dmaapTopic: SUCCESS
  logstashServiceName: log-ls
  logstashPort: 5044

# dependency / sub-chart configuration
dmaap-listener:
  nameOverride: sdnc-dmaap-listener
  config:
    sdncChartName: sdnc
    mysqlChartName: sdnc-db
    configDir: /opt/onap/sdnc/data/properties

ueb-listener:
  nameOverride: sdnc-ueb-listener
  config:
    sdncChartName: sdnc
    mysqlChartName: sdnc-db
    configDir: /opt/onap/sdnc/data/properties

sdnc-portal:
  config:
    sdncChartName: sdnc
    mysqlChartName: sdnc-db
    configDir: /opt/onap/sdnc/data/properties
    dbRootPassword: openECOMP1.0

mysql:
  nameOverride: sdnc-db
  service:
    name: sdnc-dbhost
    internalPort: 3306
  nfsprovisionerPrefix: sdnc
  sdnctlPrefix: sdnc
  persistence:
    mountSubPath: sdnc/data
    enabled: true
  disableNfsProvisioner: false
  replicaCount: 1

dgbuilder:
  nameOverride: sdnc-dgbuilder
  config:
    dbPodName: sdnc-db
    dbServiceName: sdnc-dbhost
    dbRootPassword: openECOMP1.0
  service:
    nodePort: "03"

# 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: sdnc
  #targetPort
  internalPort: 8181
  internalPort2: 8101
  internalPort3: 8080
  internalPort4: 2550

  #port
  externalPort: 8282
  nodePort: "02"

  externalPort2: 8202
  nodePort2: "08"

  externalPort3: 8280
  nodePort3: 46

  clusterPort: 2550
  clusterPort2: 2650
  clusterPort3: 2681

  geoNodePort1: 61
  geoNodePort2: 62
  geoNodePort3: 63
  geoNodePort4: 64
  geoNodePort5: 65
  geoNodePort6: 66

ingress:
  enabled: false

resources: {}
#resources:
#  limits:
#    cpu: 2
#    memory: 4Gi
#  requests:
#    cpu: 2
#    memory: 4Gi
