Merge "[SDC] Change default access mode for cert PVC"
[oom.git] / kubernetes / sdnc / templates / service.yaml
1 # Copyright © 2017 Amdocs, 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: {{ include "common.release" . }}
24     heritage: {{ .Release.Service }}
25   annotations:
26     msb.onap.org/service-info: '[
27       {
28           "serviceName": "sdnc",
29           "version": "v1",
30           "url": "/",
31           "protocol": "REST",
32           "port": "{{ .Values.service.externalPort }}",
33           "visualRange":"1",
34           "path": "/"
35       }
36       ]'
37 spec:
38   type: {{ .Values.service.type }}
39   ports:
40     {{if eq .Values.service.type "NodePort" -}}
41     - port: {{ .Values.service.externalPort }}
42       targetPort: {{ .Values.service.internalPort }}
43       {{ if not .Values.global.aafEnabled }}
44       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
45       {{ end }}
46       name: "{{ .Values.service.portName }}-8282"
47     - port: {{ .Values.service.externalPort2 }}
48       targetPort: {{ .Values.service.internalPort2 }}
49       name: "{{ .Values.service.portName }}-8202"
50     - port: {{ .Values.service.externalPort3 }}
51       targetPort: {{ .Values.service.internalPort3 }}
52       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
53       name: "{{ .Values.service.portName }}-8280"
54     - port: {{ .Values.service.externalPort4 }}
55       targetPort: {{ .Values.service.internalPort4 }}
56       {{ if .Values.global.aafEnabled }}
57       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
58       {{ end }}
59       name: "{{ .Values.service.portName }}-8443"
60     {{- else -}}
61     - port: {{ .Values.service.externalPort }}
62       targetPort: {{ .Values.service.internalPort }}
63       name: {{ .Values.service.portName }}
64     {{- end}}
65   selector:
66     app: {{ include "common.name" . }}
67     release: {{ include "common.release" . }}
68 ---
69 apiVersion: v1
70 kind: Service
71 metadata:
72   name: {{ .Values.service.portName }}-cluster
73   namespace: {{ include "common.namespace" . }}
74   labels:
75     app: {{ include "common.name" . }}
76     release: {{ include "common.release" . }}
77   annotations:
78     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
79 spec:
80   ports:
81    - name: "{{ .Values.service.portName }}-cluster-port"
82      port: {{ .Values.service.clusterPort }}
83   clusterIP: None
84   selector:
85     app: {{ include "common.name" . }}
86     release: {{ include "common.release" . }}
87   sessionAffinity: None
88   type: ClusterIP
89
90 {{ if .Values.config.geoEnabled }}
91 ---
92 apiVersion: v1
93 kind: Service
94 metadata:
95   name: sdnhost-{{ include "common.servicename" . }}-0
96   namespace: {{ .Release.Namespace }}
97   labels:
98     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
99 spec:
100   ports:
101   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort4 }}
102     port: {{ .Values.service.clusterPort2 }}
103     targetPort: {{ .Values.service.internalPort4 }}
104     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort4 }}
105   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort }}
106     port: {{ .Values.service.clusterPort3 }}
107     targetPort: {{ .Values.service.internalPort }}
108     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort1 }}
109   type: NodePort
110   selector:
111     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
112 {{ end }}
113 {{ if .Values.config.geoEnabled }}
114 ---
115 apiVersion: v1
116 kind: Service
117 metadata:
118   name: sdnhost-{{ include "common.servicename" . }}-1
119   namespace: {{ .Release.Namespace }}
120   labels:
121     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
122 spec:
123   ports:
124   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort4 }}
125     port: {{ .Values.service.clusterPort2 }}
126     targetPort: {{ .Values.service.internalPort4 }}
127     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort5 }}
128   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort }}
129     port: {{ .Values.service.clusterPort3 }}
130     targetPort: {{ .Values.service.internalPort }}
131     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort2 }}
132   type: NodePort
133   selector:
134     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
135 {{ end }}
136 {{ if .Values.config.geoEnabled }}
137 ---
138 apiVersion: v1
139 kind: Service
140 metadata:
141   name: sdnhost-{{ include "common.servicename" . }}-2
142   namespace: {{ .Release.Namespace }}
143   labels:
144     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
145 spec:
146   ports:
147   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort4 }}
148     port: {{ .Values.service.clusterPort2 }}
149     targetPort: {{ .Values.service.internalPort4 }}
150     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort6 }}
151   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort }}
152     port: {{ .Values.service.clusterPort3 }}
153     targetPort: {{ .Values.service.internalPort }}
154     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort3 }}
155   type: NodePort
156   selector:
157     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
158 {{ end }}