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

nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302

# POLICY hotfix - Note this must be temporary
# See https://jira.onap.org/browse/POLICY-510
aaiServiceClusterIp: 10.43.255.254
aaiServiceReplicas: 1
aaiResourceReplicas: 1
aaiTraversalReplicas: 1
dataRouterReplicas: 1
elasticsearchReplicas: 1
hbaseReplicas: 1
modelLoaderReplicas: 1
searchDataServiceReplicas: 1
sparkyReplicas: 1
image:
  readiness: oomk8s/readiness-check:1.1.0
  aaiProxy: aaionap/haproxy
  aaiProxyVersion: 1.1.0
  aaiHbaseImage: aaionap/hbase
  aaiHbaseVersion: 1.2.0
  modelLoaderImage: nexus3.onap.org:10001/onap/model-loader
  modelLoaderVersion: v1.1.0
  aaiResourcesImage: nexus3.onap.org:10001/openecomp/aai-resources
  aaiResourcesVersion: v1.1.0
  aaiTraversalImage: nexus3.onap.org:10001/openecomp/aai-traversal
  aaiTraversalVersion: v1.1.0
  dataRouterImage: nexus3.onap.org:10001/onap/data-router
  dataRouterVersion: v1.1.0
  elasticsearchImage: elasticsearch
  elasticsearchVersion: 2.4.1
  searchDataImage: nexus3.onap.org:10001/onap/search-data-service
  searchDataVersion: v1.1.0
  sparkyBeImage: nexus3.onap.org:10001/onap/sparky-be
  sparkyBeVersion: v1.1.0
  gremlinServerImage: aaionap/gremlin-server
  filebeat: docker.elastic.co/beats/filebeat:5.5.0
  es_bb: busybox
aaicoreversion: 1.1.0-SNAPSHOT
persistence:
  enabled: true
  
  ## A manually managed Persistent Volume and Claim
  ## Requires persistence.enabled: true
  ## If defined, PVC must be created manually before volume will be bound
  # existingClaim:
  volumeReclaimPolicy: Retain

  ## database data Persistent Volume Storage Class
  ## If defined, storageClassName: <storageClass>
  ## If set to "-", storageClassName: "", which disables dynamic provisioning
  ## If undefined (the default) or set to null, no storageClassName spec is
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  ##
  # storageClass: "-"
  accessMode: ReadWriteMany
  size: 2Gi
  mountPath: /dockerdata-nfs
  mountSubPath: aai/data-router/logs

config:
  logstashServiceName: log-ls
  logstashPort: 5044

