Merge "[UUI] Service Mesh Compliance for UUI"
[oom.git] / kubernetes / common / mongo / templates / service.yaml
1 {{/*
2 # Copyright © 2018 Orange
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     - port: {{ .Values.service.internalPort }}
30       name: {{ .Values.service.portName }}
31   selector:
32     app: {{ include "common.name" . }}
33     release: {{ include "common.release" . }}
34   clusterIP: None
35 ---
36 # Client service for connecting to any Mongo instance for reads.
37 apiVersion: v1
38 kind: Service
39 metadata:
40   name: {{ include "common.servicename" . }}-read
41   namespace: {{ include "common.namespace" . }}
42   labels:
43     app: {{ include "common.name" . }}
44 spec:
45   ports:
46     - port: {{ .Values.service.internalPort }}
47       name: {{ .Values.service.portName }}
48   selector:
49     app: {{ include "common.name" . }}
50     release: {{ include "common.release" . }}
51 ---
52 {{ if .Values.geoEnabled }}
53 apiVersion: v1
54 kind: Service
55 metadata:
56   name: {{ include "common.servicename" . }}-nodeport
57   namespace: {{ include "common.namespace" . }}
58   labels:
59     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
60 spec:
61   ports:
62   - name: {{ .Values.service.internalPort }}
63     port: {{ .Values.service.internalPort }}
64     targetPort: {{ .Values.service.internalPort }}
65     nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort1 }}
66   - name: {{ .Values.xtrabackup.internalPort }}
67     port: {{ .Values.xtrabackup.internalPort }}
68     targetPort: {{ .Values.xtrabackup.internalPort }}
69     nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort2 }}
70   type: NodePort
71   selector:
72     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
73     release: {{ include "common.release" . }}
74 {{ end }}