Merge "[DMAAP] DMaaP ServiceMesh compatibility"
[oom.git] / kubernetes / appc / templates / service.yaml
1 {{/*
2 # Copyright © 2018  AT&T, Amdocs, Bell Canada Intellectual Property.  All rights reserved.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16
17 apiVersion: v1
18 kind: Service
19 metadata:
20   name: {{ include "common.servicename" . }}
21   namespace: {{ include "common.namespace" . }}
22   labels:
23     app: {{ include "common.name" . }}
24     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
25     release: {{ include "common.release" . }}
26     heritage: {{ .Release.Service }}
27   annotations:
28     msb.onap.org/service-info: '[
29       {
30           "serviceName": "appc",
31           "version": "v1",
32           "url": "/",
33           "protocol": "REST",
34           "port": "{{ .Values.service.externalPort }}",
35           "visualRange":"1",
36           "path": "/"
37       }
38       ]'
39 spec:
40   type: {{ .Values.service.type }}
41   ports:
42     {{if eq .Values.service.type "NodePort" -}}
43     - port: {{ .Values.service.externalPort }}
44       targetPort: {{ .Values.service.internalPort }}
45       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
46       name: "{{ .Values.service.portName }}-8443"
47     - port: {{ .Values.service.externalPort2 }}
48       targetPort: {{ .Values.service.internalPort2 }}
49       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
50       name: "{{ .Values.service.portName }}-1830"
51     - port: {{ .Values.service.externalPort3 }}
52       targetPort: {{ .Values.service.internalPort3 }}
53       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
54       name: "{{ .Values.service.portName }}-9090"
55     {{- else -}}
56     - port: {{ .Values.service.externalPort }}
57       targetPort: {{ .Values.service.internalPort }}
58       name: {{ .Values.service.portName }}-8443
59     - port: {{ .Values.service.externalPort2 }}
60       targetPort: {{ .Values.service.internalPort2 }}
61       name: {{ .Values.service.portName }}-1830
62     - port: {{ .Values.service.externalPort3 }}
63       targetPort: {{ .Values.service.internalPort3 }}
64       name: {{ .Values.service.portName }}-9090
65     {{- end}}
66   selector:
67     app: {{ include "common.name" . }}
68     release: {{ include "common.release" . }}
69 ---
70 apiVersion: v1
71 kind: Service
72 metadata:
73   name: {{ include "common.servicename" . }}-cluster
74   namespace: {{ include "common.namespace" . }}
75   labels:
76     app: {{ include "common.name" . }}
77     release: {{ include "common.release" . }}
78   annotations:
79     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
80 spec:
81   ports:
82    - name: "{{ .Values.service.portName }}-cluster-port"
83      port: {{ .Values.service.clusterPort }}
84   clusterIP: None
85   selector:
86     app: {{ include "common.name" . }}
87     release: {{ include "common.release" . }}
88   sessionAffinity: None
89   type: ClusterIP