d2482eab56136e8cb5ec7d2007010cfdb58201e0
[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: NodePort
42   ports:
43     - name: "{{ .Values.service.portName }}-restconf"
44       {{ if not .Values.global.aafEnabled }}
45       port: {{ .Values.service.externalPort }}
46       targetPort: {{ .Values.service.internalPort }}
47       {{- else -}}
48       port: {{ .Values.service.externalPort4 }}
49       targetPort: {{ .Values.service.internalPort4 }}
50       {{ end }}
51       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
52   {{ if .Values.config.sdnr.enabled }}
53   sessionAffinity:  ClientIP
54   {{ end }}
55   selector:
56     app.kubernetes.io/name: {{ include "common.name" . }}
57     app.kubernetes.io/instance: {{ include "common.release" . }}
58 ---
59 apiVersion: v1
60 kind: Service
61 metadata:
62   name: "{{ .Values.service.name }}-oam"
63   namespace: {{ include "common.namespace" . }}
64   labels:
65     app: {{ include "common.name" . }}
66     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
67     release: {{ include "common.release" . }}
68     heritage: {{ .Release.Service }}
69 spec:
70   type: ClusterIP
71   ports:
72     - name: "{{ .Values.service.portName }}-restconf-alt"
73       {{ if .Values.global.aafEnabled }}
74       port: {{ .Values.service.externalPort }}
75       targetPort: {{ .Values.service.internalPort }}
76       {{- else -}}
77       port: {{ .Values.service.internalPort4 }}
78       targetPort: {{ .Values.service.internalPort4 }}
79       {{ end }}
80     - name: "{{ .Values.service.portName }}-karaf"
81       port: {{ .Values.service.externalPort2 }}
82       targetPort: {{ .Values.service.internalPort2 }}
83   selector:
84     app.kubernetes.io/name: {{ include "common.name" . }}
85     app.kubernetes.io/instance: {{ include "common.release" . }}
86 ---
87 apiVersion: v1
88 kind: Service
89 metadata:
90   name: {{ .Values.service.portName }}-cluster
91   namespace: {{ include "common.namespace" . }}
92   labels:
93     app: {{ include "common.name" . }}
94     release: {{ include "common.release" . }}
95   annotations:
96     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
97 spec:
98   ports:
99    - name: "{{ .Values.service.portName }}-cluster-port"
100      port: {{ .Values.service.clusterPort }}
101   clusterIP: None
102   selector:
103     app.kubernetes.io/name: {{ include "common.name" . }}
104     app.kubernetes.io/instance: {{ include "common.release" . }}
105   sessionAffinity: None
106   type: ClusterIP
107
108 {{ if .Values.config.geoEnabled }}
109 ---
110 apiVersion: v1
111 kind: Service
112 metadata:
113   name: sdnhost-{{ include "common.servicename" . }}-0
114   namespace: {{ .Release.Namespace }}
115   labels:
116     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
117 spec:
118   ports:
119   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort4 }}
120     port: {{ .Values.service.clusterPort2 }}
121     targetPort: {{ .Values.service.internalPort4 }}
122     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort4 }}
123   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort }}
124     port: {{ .Values.service.clusterPort3 }}
125     targetPort: {{ .Values.service.internalPort }}
126     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort1 }}
127   type: NodePort
128   selector:
129     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
130 {{ end }}
131 {{ if .Values.config.geoEnabled }}
132 ---
133 apiVersion: v1
134 kind: Service
135 metadata:
136   name: sdnhost-{{ include "common.servicename" . }}-1
137   namespace: {{ .Release.Namespace }}
138   labels:
139     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
140 spec:
141   ports:
142   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort4 }}
143     port: {{ .Values.service.clusterPort2 }}
144     targetPort: {{ .Values.service.internalPort4 }}
145     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort5 }}
146   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort }}
147     port: {{ .Values.service.clusterPort3 }}
148     targetPort: {{ .Values.service.internalPort }}
149     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort2 }}
150   type: NodePort
151   selector:
152     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
153 {{ end }}
154 {{ if .Values.config.geoEnabled }}
155 ---
156 apiVersion: v1
157 kind: Service
158 metadata:
159   name: sdnhost-{{ include "common.servicename" . }}-2
160   namespace: {{ .Release.Namespace }}
161   labels:
162     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
163 spec:
164   ports:
165   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort4 }}
166     port: {{ .Values.service.clusterPort2 }}
167     targetPort: {{ .Values.service.internalPort4 }}
168     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort6 }}
169   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort }}
170     port: {{ .Values.service.clusterPort3 }}
171     targetPort: {{ .Values.service.internalPort }}
172     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort3 }}
173   type: NodePort
174   selector:
175     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
176 {{ end }}
177
178 {{ if .Values.config.sdnr.netconfCallHome.enabled }}
179 ---
180 apiVersion: v1
181 kind: Service
182 metadata:
183   name: {{ include "common.servicename" . }}-callhome
184   namespace: {{ include "common.namespace" . }}
185   labels:
186     app: {{ include "common.name" . }}
187     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
188     release: {{ include "common.release" . }}
189     heritage: {{ .Release.Service }}
190 spec:
191   type: NodePort
192   ports:
193     - name: "{{ .Values.service.portName }}-callhome"
194       port: {{ .Values.service.callHomePort }}
195       targetPort: {{ .Values.service.callHomePort }}
196       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.callHomeNodePort }}
197   selector:
198     app.kubernetes.io/name: {{ include "common.name" . }}
199     app.kubernetes.io/instance: {{ include "common.release" . }}
200 {{ end }}