5bb5c8bf28f7417908fcf0caa8c699e26195f63a
[oom.git] / kubernetes / aai / templates / service.yaml
1 {{/*
2 # Copyright © 2018 Amdocs, Bell Canada, AT&T
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16
17 apiVersion: v1
18 kind: Service
19 metadata:
20   name: {{ include "common.servicename" . }}
21   namespace: {{ include "common.namespace" . }}
22   labels:
23     app: {{ include "common.name" . }}
24     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
25     release: {{ include "common.release" . }}
26     heritage: {{ .Release.Service }}
27 spec:
28   ports:
29   - name: {{ .Values.service.portName }}
30     port: {{ .Values.service.externalPort }}
31     targetPort: {{ .Values.service.internalPort }}
32     {{- if eq .Values.service.type "NodePort" }}
33     {{    if not (include "common.ingressEnabled" .) }}
34     nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
35     {{    end }}
36     {{- end }}
37   type: {{ if (include "common.ingressEnabled" .) }}ClusterIP{{ else }}{{ .Values.service.type }}{{ end }}
38   selector:
39     app: {{ include "common.name" . }}
40   sessionAffinity: {{ .Values.service.sessionAffinity }}
41 ---
42 apiVersion: v1
43 kind: Service
44 metadata:
45   name: {{ include "common.servicename" . }}-internal
46   namespace: {{ include "common.namespace" . }}
47   labels:
48     app: {{ include "common.name" . }}
49     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
50     release: {{ include "common.release" . }}
51     heritage: {{ .Release.Service }}
52 spec:
53   ports:
54     - name: {{ .Values.service.portName }}
55       port: {{ .Values.service.externalPort }}
56       targetPort: {{ .Values.service.internalPort }}
57   type: ClusterIP
58   selector:
59     app: {{ include "common.name" . }}
60 ---
61 apiVersion: v1
62 kind: Service
63 metadata:
64   name: {{ include "common.servicename" . }}-metrics
65   namespace: {{ include "common.namespace" . }}
66   labels:
67     app: {{ include "common.name" . }}-metrics
68     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
69     release: {{ include "common.release" . }}
70     heritage: {{ .Release.Service }}
71 spec:
72   ports:
73     - port: {{ .Values.metricsService.externalPort }}
74       targetPort: {{ .Values.metricsService.internalPort }}
75       name: {{ .Values.metricsService.portName }}
76   type: {{ .Values.metricsService.type }}
77   selector:
78     app: {{ include "common.name" . }}
79   clusterIP: None