Merge "Enable intial load in CDS Blueprint Processor"
[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: {{ .Release.Name }}
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       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
44       name: "{{ .Values.service.portName }}-8282"
45     - port: {{ .Values.service.externalPort2 }}
46       targetPort: {{ .Values.service.internalPort2 }}
47       name: "{{ .Values.service.portName }}-8202"
48     - port: {{ .Values.service.externalPort3 }}
49       targetPort: {{ .Values.service.internalPort3 }}
50       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
51       name: "{{ .Values.service.portName }}-8280"
52     - port: {{ .Values.service.externalPort4 }}
53       targetPort: {{ .Values.service.internalPort4 }}
54       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
55       name: "{{ .Values.service.portName }}-8443"
56     {{- else -}}
57     - port: {{ .Values.service.externalPort }}
58       targetPort: {{ .Values.service.internalPort }}
59       name: {{ .Values.service.portName }}
60     {{- end}}
61   selector:
62     app: {{ include "common.name" . }}
63     release: {{ .Release.Name }}
64 ---
65 apiVersion: v1
66 kind: Service
67 metadata:
68   name: {{ .Values.service.portName }}-cluster
69   namespace: {{ include "common.namespace" . }}
70   labels:
71     app: {{ include "common.name" . }}
72     release: {{ .Release.Name }}
73   annotations:
74     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
75 spec:
76   ports:
77    - name: "{{ .Values.service.portName }}-cluster-port"
78      port: {{ .Values.service.clusterPort }}
79   clusterIP: None
80   selector:
81     app: {{ include "common.name" . }}
82     release: {{ .Release.Name }}
83   sessionAffinity: None
84   type: ClusterIP
85
86 {{ if .Values.config.geoEnabled }}
87 ---
88 apiVersion: v1
89 kind: Service
90 metadata:
91   name: sdnhost-{{ include "common.servicename" . }}-0
92   namespace: {{ .Release.Namespace }}
93   labels:
94     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
95 spec:
96   ports:
97   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort4 }}
98     port: {{ .Values.service.clusterPort2 }}
99     targetPort: {{ .Values.service.internalPort4 }}
100     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort4 }}
101   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort }}
102     port: {{ .Values.service.clusterPort3 }}
103     targetPort: {{ .Values.service.internalPort }}
104     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort1 }}
105   type: NodePort
106   selector:
107     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
108 {{ end }}
109 {{ if .Values.config.geoEnabled }}
110 ---
111 apiVersion: v1
112 kind: Service
113 metadata:
114   name: sdnhost-{{ include "common.servicename" . }}-1
115   namespace: {{ .Release.Namespace }}
116   labels:
117     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
118 spec:
119   ports:
120   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort4 }}
121     port: {{ .Values.service.clusterPort2 }}
122     targetPort: {{ .Values.service.internalPort4 }}
123     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort5 }}
124   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort }}
125     port: {{ .Values.service.clusterPort3 }}
126     targetPort: {{ .Values.service.internalPort }}
127     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort2 }}
128   type: NodePort
129   selector:
130     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
131 {{ end }}
132 {{ if .Values.config.geoEnabled }}
133 ---
134 apiVersion: v1
135 kind: Service
136 metadata:
137   name: sdnhost-{{ include "common.servicename" . }}-2
138   namespace: {{ .Release.Namespace }}
139   labels:
140     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
141 spec:
142   ports:
143   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort4 }}
144     port: {{ .Values.service.clusterPort2 }}
145     targetPort: {{ .Values.service.internalPort4 }}
146     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort6 }}
147   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort }}
148     port: {{ .Values.service.clusterPort3 }}
149     targetPort: {{ .Values.service.internalPort }}
150     nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort3 }}
151   type: NodePort
152   selector:
153     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
154 {{ end }}