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