#============LICENSE_START========================================================
#=================================================================================
# Copyright (c) 2018-2019 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
  readinessRepository: oomk8s
  readinessImage: readiness-check:2.0.0
  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

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
  # redisCaching is a string not a boolean!
  redisCaching: "false"

# 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:
    pgPrimaryPassword: onapdemodb
    pgRootPassword: onapdemodb
  persistence:
    mountSubPath: dcae/data
    mountInitPath: dcae
  pgpool:
    nameOverride: dcae-pgpool
    service:
      name: dcae-pgpool
    credentials:
      pgpassword: onapdemodb
    container:
      name:
        primary: dcae-pgpool-primary
        replica: dcae-pgpool-replica

# application image
repository: nexus3.onap.org:10001
image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.9.0
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
  tca: onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.2.2
  ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.5.2
  snmptrap: onap/org.onap.dcaegen2.collectors.snmptrap:1.4.0
  prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.0
  hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.3.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"
