# 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
