# Copyright © 2019 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.

###################################################################
# This override file enables helm charts for all ONAP applications.
###################################################################
#ingress virtualhost based configuration
global:
  ingress:
    enabled: true
    # enable all component's Ingress interfaces
    enable_all: true
    # All http requests via ingress will be redirected

    # Provider: ingress, istio, gw-api
    provider: istio
    # Ingress class (only for provider "ingress"): e.g. nginx, traefik
    ingressClass:
    # Ingress Selector (only for provider "istio") to match with the
    # ingress pod label "istio=ingress"
    ingressSelector: ingress
    # optional: common used Gateway (for Istio, GW-API) and listener names
    commonGateway:
      name: ""
      httpListener: ""
      httpsListener: ""

    virtualhost:
      # Default Ingress base URL
      # can be overwritten in component by setting ingress.baseurlOverride
      baseurl: "simpledemo.onap.org"
      # prefix for baseaddr
      # can be overwritten in component by setting ingress.preaddrOverride
      preaddr: ""
      # postfix for baseaddr
      # can be overwritten in component by setting ingress.postaddrOverride
      postaddr: ""
    config:
      ssl: "redirect"
    # you can set an own Secret containing a certificate
    #  tls:
    #    secret: 'my-ingress-cert'
    # optional: Namespace of the Istio IngressGateway
    namespace: istio-ingress
  centralizedLoggingEnabled: &centralizedLogging false
  # Disabling CMPv2
  cmpv2Enabled: false

cassandra:
  enabled: true
mariadb-galera:
  enabled: true
postgres:
  enabled: true
authentication:
  enabled: true
aai:
  enabled: true
cds:
  enabled: true
cli:
  enabled: false
cps:
  enabled: true
dcaegen2:
  enabled: true
dcaegen2-services:
  enabled: true
  dcae-datafile-collector:
    enabled: false
  dcae-datalake-admin-ui:
    enabled: true
  dcae-datalake-des:
    enabled: true
  dcae-datalake-feeder:
    enabled: true
  dcae-heartbeat:
    enabled: false
  dcae-hv-ves-collector:
    enabled: true
  dcae-kpi-ms:
    enabled: false
  dcae-ms-healthcheck:
    enabled: true
  dcae-pm-mapper:
    enabled: false
  dcae-pmsh:
    enabled: false
  dcae-prh:
    enabled: true
  dcae-restconf-collector:
    enabled: false
  dcae-slice-analysis-ms:
    enabled: false
  dcae-snmptrap-collector:
    enabled: false
  dcae-son-handler:
    enabled: false
  dcae-tcagen2:
    enabled: false
  dcae-ves-collector:
    enabled: true
    applicationConfig:
      auth.method: "noAuth"
  dcae-ves-mapper:
    enabled: false
  dcae-ves-openapi-manager:
    enabled: true
holmes:
  enabled: true
dmaap:
  enabled: true
  message-router:
    enabled: false
  dmaap-dr-prov:
    enabled: true
  dmaap-dr-node:
    enabled: true
oof:
  enabled: false
msb:
  enabled: false
multicloud:
  enabled: true
nbi:
  enabled: false
platform:
  enabled: true
  cmpv2-cert-service:
    enabled: false
policy:
  enabled: true
portal-ng:
  enabled: true
robot:
  enabled: true
sdc:
  enabled: true
sdnc:
  enabled: true
  network-name-gen:
    enabled: true
  dgbuilder:
    enabled: true
  dmaap-listener:
    enabled: false
  ueb-listener:
    enabled: true
  sdnc-ansible-server:
    enabled: true
  sdnc-web:
    enabled: true
so:
  enabled: true
strimzi:
  enabled: true
  strimzi-kafka-bridge:
    enabled: true
uui:
  enabled: true
vfc:
  enabled: false
vnfsdk:
  enabled: false
modeling:
  enabled: false
a1policymanagement:
  enabled: true
