# Copyright © 2017 Amdocs, Bell Canada
# Modifications Copyright © 2018, 2020 AT&T
#
# 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:
  env:
    tomcatDir: "/usr/local/tomcat"
  # portal frontend port
  portalPort: "8989"
  portalFEPort: "30225"
  # application's front end hostname.  Must be resolvable on the client side environment
  portalHostName: "portal.api.simpledemo.onap.org"
config:
  logstashServiceName: log-ls
  logstashPort: 5044
portal-mariadb:
  nameOverride: portal-db
mariadb:
  service:
    name: portal-db
widget:
  service:
    name: portal-widget
cassandra:
  service:
    name: portal-cassandra
  config:
    cassandraUsername: root
    cassandraPassword: Aa123456
zookeeper:
  service:
    name: portal-zookeeper
messageRouter:
  service:
    name: message-router
ingress:
  enabled: false