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