# 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:1.1.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
  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
