#============LICENSE_START========================================================
#=================================================================================
# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright © 2018 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.
# ============LICENSE_END=========================================================

#################################################################
# Global configuration defaults.
#################################################################
global:
  nodePortPrefix: 302
  nodePortPrefixExt: 304
  readinessImage: onap/oom/readiness:3.0.1
  loggingRepository: docker.elastic.co
  loggingImage: beats/filebeat:5.5.0
  tlsRepository: nexus3.onap.org:10001
  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
  envsubstImage: dibi/envsubst

secrets:
  - uid: pg-root-pass
    name: &pgRootPassSecretName '{{ include "common.release" . }}-dcae-bootstrap-pg-root-pass'
    type: password
    externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgRootPasswordExternalSecret) .) (hasSuffix "dcae-bootstrap-pg-root-pass" .Values.postgres.config.pgRootPasswordExternalSecret) }}'
    password: '{{ .Values.postgres.config.pgRootpassword }}'
    policy: generate

config:
  logstashServiceName: log-ls
  logstashPort: 5044
  # Addresses of ONAP components
  address:
    consul:
      host: consul-server
      port: 8500
    consul_ui: consul-server-ui
    cm:
      host: dcae-cloudify-manager
      port: 443
      proto: https
    #Temporary assignment to avoid conflict
    #To be removed after bootstrap changes done to remove dashboard
    dashboard:
      port: 30473
      portSecure: 30474
    datafile_collector:
      port: 30223
      portSecure: 30262
    dmaap_dr_prov: dmaap-dr-prov
    message_router: message-router
    msb_discovery: msb-discovery
    msb_iag: msb-iag
    policy_pdp: pdp
    sdc: sdc-be
    snmptrap:
      port: 30470
    ves:
      port: 30235
      portSecure: 30417

# postgres values--overriding defaults in the postgres subchart
postgres:
  nameOverride: dcae-db
  service:
    name: dcae-postgres
    name2: dcae-pg-primary
    name3: dcae-pg-replica
  suffix: svc.cluster.local
  container:
    name:
      primary: dcae-pg-primary
      replica: dcae-pg-replica
  config:
    pgRootPasswordExternalSecret: *pgRootPassSecretName
  persistence:
    mountSubPath: dcae/data
    mountInitPath: dcae

mongo:
  nameOverride: dcae-mongo
  config:
    dbName: dcaecommondb
  service:
    name: dcae-mongohost
    internalPort: 27017
  nfsprovisionerPrefix: dcaemongo
  sdnctlPrefix: tcagen2
  persistence:
    mountSubPath: dcae/mongo/data
    enabled: true
  disableNfsProvisioner: true

# application image
repository: nexus3.onap.org:10001
image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:2.0.4
default_k8s_location: central

# DCAE component images to be deployed via Cloudify Manager
# Use to override default setting in blueprints
componentImages:
  holmes_rules: onap/holmes/rule-management:1.2.7
  holmes_engine: onap/holmes/engine-management:1.2.6
  tcagen2: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.0
  ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.7.3
  snmptrap: onap/org.onap.dcaegen2.collectors.snmptrap:1.4.0
  prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.2
  hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.4.0

# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      cpu: 2
      memory: 2Gi
    requests:
      cpu: 1
      memory: 1Gi
  large:
    limits:
      cpu: 4
      memory: 4Gi
    requests:
      cpu: 2
      memory: 2Gi
  unlimited: {}
# Kubernetes namespace for components deployed via Cloudify manager
# If empty, use the common namespace
# dcae_ns: "onap"
