3490dff9ab81e366b45beb74ab53d0463e02c4de
[oom.git] / kubernetes / sdnc / templates / service.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
3 # Copyright © 2020 highstreet technologies GmbH
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 */}}
17
18 apiVersion: v1
19 kind: Service
20 metadata:
21   name: {{ include "common.servicename" . }}
22   namespace: {{ include "common.namespace" . }}
23   labels:
24     app: {{ include "common.name" . }}
25     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
26     release: {{ include "common.release" . }}
27     heritage: {{ .Release.Service }}
28   annotations:
29     msb.onap.org/service-info: '[
30       {
31           "serviceName": "sdnc",
32           "version": "v1",
33           "url": "/",
34           "protocol": "REST",
35           "port": "{{ .Values.service.externalPort }}",
36           "visualRange":"1",
37           "path": "/"
38       }
39       ]'
40 spec:
41   type: {{ if (include "common.ingressEnabled" .) }}ClusterIP{{ else }}NodePort{{ end }}
42   ports:
43     - name: "{{ .Values.service.portName }}-restconf"
44       port: {{ .Values.service.externalPort }}
45       targetPort: {{ .Values.service.internalPort }}
46       {{ if not (include "common.ingressEnabled" .) }}
47       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
48       {{ end }}
49   {{ if .Values.config.sdnr.enabled }}
50   sessionAffinity:  ClientIP
51   {{ end }}
52   selector:
53     app.kubernetes.io/name: {{ include "common.name" . }}
54     app.kubernetes.io/instance: {{ include "common.release" . }}
55 ---
56 apiVersion: v1
57 kind: Service
58 metadata:
59   name: "{{ .Values.service.name }}-oam"
60   namespace: {{ include "common.namespace" . }}
61   labels:
62     app: {{ include "common.name" . }}
63     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
64     release: {{ include "common.release" . }}
65     heritage: {{ .Release.Service }}
66 spec:
67   type: ClusterIP
68   ports:
69     - name: "{{ .Values.service.portName }}-restconf-alt"
70       port: {{ .Values.service.externalPort }}
71       targetPort: {{ .Values.service.internalPort }}
72     - name: "{{ .Values.service.portName }}-karaf"
73       port: {{ .Values.service.externalPort2 }}
74       targetPort: {{ .Values.service.internalPort2 }}
75   selector:
76     app.kubernetes.io/name: {{ include "common.name" . }}
77     app.kubernetes.io/instance: {{ include "common.release" . }}
78 ---
79 apiVersion: v1
80 kind: Service
81 metadata:
82   name: {{ .Values.service.portName }}-cluster
83   namespace: {{ include "common.namespace" . }}
84   labels:
85     app: {{ include "common.name" . }}
86     release: {{ include "common.release" . }}
87   annotations:
88     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
89 spec:
90   ports:
91    - name: "{{ .Values.service.portName }}-cluster-port"
92      port: {{ .Values.service.clusterPort }}
93   clusterIP: None
94   selector:
95     app.kubernetes.io/name: {{ include "common.name" . }}
96     app.kubernetes.io/instance: {{ include "common.release" . }}
97   sessionAffinity: None
98   type: ClusterIP
99
100 {{ if .Values.config.geoEnabled }}
101 ---
102 apiVersion: v1
103 kind: Service
104 metadata:
105   name: sdnhost-{{ include "common.servicename" . }}-0
106   namespace: {{ .Release.Namespace }}
107   labels:
108     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
109 spec:
110   ports:
111   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort }}
112     port: {{ .Values.service.clusterPort3 }}
113     targetPort: {{ .Values.service.internalPort }}
114     {{ if not (include "common.ingressEnabled" .) }}
115     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort1 }}
116     {{ end }}
117   type: {{ if (include "common.ingressEnabled" .) }}ClusterIP{{ else }}NodePort{{ end }}
118   selector:
119     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
120 {{ end }}
121 {{ if .Values.config.geoEnabled }}
122 ---
123 apiVersion: v1
124 kind: Service
125 metadata:
126   name: sdnhost-{{ include "common.servicename" . }}-1
127   namespace: {{ .Release.Namespace }}
128   labels:
129     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
130 spec:
131   ports:
132   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort }}
133     port: {{ .Values.service.clusterPort3 }}
134     targetPort: {{ .Values.service.internalPort }}
135     {{ if not (include "common.ingressEnabled" .) }}
136     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort2 }}
137     {{ end }}
138   type: {{ if (include "common.ingressEnabled" .) }}ClusterIP{{ else }}NodePort{{ end }}
139   selector:
140     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
141 {{ end }}
142 {{ if .Values.config.geoEnabled }}
143 ---
144 apiVersion: v1
145 kind: Service
146 metadata:
147   name: sdnhost-{{ include "common.servicename" . }}-2
148   namespace: {{ .Release.Namespace }}
149   labels:
150     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
151 spec:
152   ports:
153   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort }}
154     port: {{ .Values.service.clusterPort3 }}
155     targetPort: {{ .Values.service.internalPort }}
156     {{ if not (include "common.ingressEnabled" .) }}
157     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort3 }}
158     {{ end }}
159   type: {{ if (include "common.ingressEnabled" .) }}ClusterIP{{ else }}NodePort{{ end }}
160   selector:
161     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
162 {{ end }}
163
164 {{ if .Values.config.sdnr.netconfCallHome.enabled }}
165 ---
166 apiVersion: v1
167 kind: Service
168 metadata:
169   name: {{ include "common.servicename" . }}-callhome
170   namespace: {{ include "common.namespace" . }}
171   labels:
172     app: {{ include "common.name" . }}
173     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
174     release: {{ include "common.release" . }}
175     heritage: {{ .Release.Service }}
176 spec:
177   type: {{ if (include "common.ingressEnabled" .) }}ClusterIP{{ else }}NodePort{{ end }}
178   ports:
179     - name: "{{ .Values.service.portName }}-callhome"
180       port: {{ .Values.service.callHomePort }}
181       targetPort: {{ .Values.service.callHomePort }}
182       {{ if not (include "common.ingressEnabled" .) }}
183       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.callHomeNodePort }}
184       {{ end }}
185   selector:
186     app.kubernetes.io/name: {{ include "common.name" . }}
187     app.kubernetes.io/instance: {{ include "common.release" . }}
188 {{ end }}