467a6a9d4493adc5a84bbabc1f9031e1a7053e15
[oom.git] / kubernetes / common / cassandra / templates / service.yaml
1 # Copyright © 2018 Amdocs, AT&T, 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 spec:
26   type: {{ .Values.service.type }}
27   ports:
28     {{if eq .Values.service.type "NodePort" -}}
29     - port: {{ .Values.service.externalPort }}
30       targetPort: {{ .Values.service.internalPort }}
31       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
32       name: {{ .Values.service.portName }}
33     - port: {{ .Values.service.externalPort2 }}
34       targetPort: {{ .Values.service.internalPort2 }}
35       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
36       name: {{ .Values.service.portName }}2
37     - port: {{ .Values.service.externalPort3 }}
38       targetPort: {{ .Values.service.internalPort3 }}
39       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
40       name: {{ .Values.service.portName }}3
41     - port: {{ .Values.service.externalPort4 }}
42       targetPort: {{ .Values.service.internalPort4 }}
43       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
44       name: {{ .Values.service.portName }}4
45     - port: {{ .Values.service.externalPort5 }}
46       targetPort: {{ .Values.service.internalPort5 }}
47       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort5 }}
48       name: {{ .Values.service.portName }}5
49
50     {{- else -}}
51     - port: {{ .Values.service.externalPort }}
52       targetPort: {{ .Values.service.internalPort }}
53       name: {{ .Values.service.portName }}
54     - port: {{ .Values.service.externalPort2 }}
55       targetPort: {{ .Values.service.internalPort2 }}
56       name: {{ .Values.service.portName }}2
57     - port: {{ .Values.service.externalPort3 }}
58       targetPort: {{ .Values.service.internalPort3 }}
59       name: {{ .Values.service.portName }}3
60     - port: {{ .Values.service.externalPort4 }}
61       targetPort: {{ .Values.service.internalPort4 }}
62       name: {{ .Values.service.portName }}4
63     - port: {{ .Values.service.externalPort5 }}
64       targetPort: {{ .Values.service.internalPort5 }}
65       name: {{ .Values.service.portName }}5
66     {{- end}}
67   selector:
68     app: {{ include "common.name" . }}
69     release: {{ .Release.Name }}