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

#{{ if not .Values.disableAaiHbase }}
apiVersion: v1
kind: Service
metadata:
  name: hbase
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: hbase
spec:
  ports:
  - name: "hbase-port-1"
    port: 2181
  - name: "hbase-port-2"
    port: 8080
  - name: "hbase-port-3"
    port: 8085
  - name: "hbase-port-4"
    port: 9090
  - name: "hbase-port-5"
    port: 16000
  - name: "hbase-port-6"
    port: 16010
  - name: "hbase-port-7"
    port: 16201
  selector:
    app: hbase
  clusterIP: None
#{{ end }}
#{{ if not .Values.disableAaiAaiService }}
---
apiVersion: v1
kind: Service
metadata:
  name: aai-service
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: aai-service
spec:
  ports:
  - name: "aai-service-port-8443"
    port: 8443
    targetPort: 8443
    nodePort: {{ .Values.nodePortPrefix }}33
  - name: "aai-service-port-8080"
    port: 8080
    targetPort: 8080
    nodePort: {{ .Values.nodePortPrefix }}32
  type: NodePort
  selector:
    app: aai-service
  clusterIP: {{ .Values.aaiServiceClusterIp }}
#{{ end }}
#{{ if not .Values.disableAaiModelLoaderService }}
---
apiVersion: v1
kind: Service
metadata:
  name: model-loader-service
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: model-loader-service
spec:
  ports:
  - name: "model-loader-service-port-8443"
    port: 8443
    nodePort: {{ .Values.nodePortPrefix }}29
  - name: "model-loader-service-port-8080"
    port: 8080
    nodePort: {{ .Values.nodePortPrefix }}10
  type: NodePort
  selector:
    app: model-loader-service
#{{ end }}
---
apiVersion: v1
kind: Service
metadata:
  name: gremlin
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: gremlin
spec:
  ports:
  - name: "gremlin-port"
    port: 8182
  selector:
    app: gremlin
  clusterIP: None
#{{ if not .Values.disableAaiElasticsearch }}
---
apiVersion: v1
kind: Service
metadata:
  name: aai-elasticsearch
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: aai-elasticsearch
spec:
  ports:
  - name: "aai-elasticsearch-port"
    port: 9200
  selector:
    app: aai-elasticsearch
  clusterIP: None
#{{ end }}
#{{ if not .Values.disableAaiSearchDataService }}
---
apiVersion: v1
kind: Service
metadata:
  name: search-data-service
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: search-data-service
spec:
  ports:
  - name: "search-data-service-port-9509"
    port: 9509
  selector:
    app: search-data-service
  clusterIP: None
#{{ end }}
#{{ if not .Values.disableAaiAaiTraversal }}
---
apiVersion: v1
kind: Service
metadata:
  name: aai-traversal
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: aai-traversal
spec:
  ports:
  - name: "aai-traversal-port-8446"
    port: 8446
  - name: aai-traversal-port-debug
    port: 5005
  selector:
    app: aai-traversal
  clusterIP: None
#{{ end }}
#{{ if not .Values.disableAaiAaiResources }}
---
apiVersion: v1
kind: Service
metadata:
  name: aai-resources
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: aai-resources
spec:
  ports:
  - name: "aai-resources-port-8447"
    port: 8447
  - name: aai-resources-port-debug
    port: 5005
  selector:
    app: aai-resources
  clusterIP: None
#{{ end }}
#{{ if not .Values.disableAaiSparkyBe }}
---
apiVersion: v1
kind: Service
metadata:
  name: sparky-be
  namespace: "{{ .Values.nsPrefix }}"
  labels:
    app: sparky-be
spec:
  ports:
  - name: "sparky-be-port-9517"
    port: 9517
  selector:
    app: sparky-be
  clusterIP: None
#{{ end }}