Fix SO healthcheck on multi-node cluster
[oom.git] / kubernetes / so / templates / service.yaml
1 # Copyright © 2017 Amdocs, Bell Canada
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #       http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 apiVersion: v1
16 kind: Service
17 metadata:
18   name: {{ include "common.servicename" . }}
19   namespace: {{ include "common.namespace" . }}
20   labels:
21     app: {{ include "common.name" . }}
22     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
23     release: {{ .Release.Name }}
24     heritage: {{ .Release.Service }}
25   annotations:
26     msb.onap.org/service-info: '[
27       {
28           "serviceName": "{{ include "common.servicename" . }}",
29           "version": "v1",
30           "url": "/ecomp/mso/infra",
31           "protocol": "REST"
32           "port": "8080",
33           "visualRange":"1"
34       },
35       {
36           "serviceName": "so-deprecated",
37           "version": "v1",
38           "url": "/ecomp/mso/infra",
39           "protocol": "REST"
40           "port": "8080",
41           "visualRange":"1",
42           "path":"/ecomp/mso/infra"
43       }
44       ]'
45 spec:
46   type: {{ .Values.service.type }}
47   ports:
48     {{if eq .Values.service.type "NodePort" -}}
49     - port: {{ .Values.service.internalPort }}
50       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
51       name: {{ .Values.service.portName }}
52     - port: {{ .Values.service.internalPort2 }}
53       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
54       name: {{ .Values.service.portName }}2
55     - port: {{ .Values.service.internalPort3 }}
56       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
57       name: {{ .Values.service.portName }}3
58     - port: {{ .Values.service.internalPort4 }}
59       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
60       name: {{ .Values.service.portName }}4
61     - port: {{ .Values.service.internalPort5 }}
62       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort5 }}
63       name: {{ .Values.service.portName }}5
64     {{- else -}}
65     - port: {{ .Values.service.externalPort }}
66       targetPort: {{ .Values.service.internalPort }}
67       name: {{ .Values.service.portName }}
68     - port: {{ .Values.service.externalPort2 }}
69       targetPort: {{ .Values.service.internalPort2 }}
70       name: {{ .Values.service.portName }}2
71     - port: {{ .Values.service.externalPort3 }}
72       targetPort: {{ .Values.service.internalPort3 }}
73       name: {{ .Values.service.portName }}3
74     - port: {{ .Values.service.externalPort4 }}
75       targetPort: {{ .Values.service.internalPort4 }}
76       name: {{ .Values.service.portName }}4
77     - port: {{ .Values.service.externalPort5 }}
78       targetPort: {{ .Values.service.internalPort5 }}
79       name: {{ .Values.service.portName }}5
80     {{- end}}
81   selector:
82     app: {{ include "common.name" . }}
83     release: {{ .Release.Name }}
84