[MULTICLOUD] Service mesh compatibility
[oom.git] / kubernetes / multicloud / templates / service.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
3 # Modifications Copyright © 2018 AT&T
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 */}}
17
18 apiVersion: v1
19 kind: Service
20 metadata:
21   name: {{ .Values.service.name }}
22   namespace: {{ include "common.namespace" . }}
23   labels:
24     app: {{ include "common.name" . }}
25     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
26     release: {{ include "common.release" . }}
27     heritage: {{ .Release.Service }}
28   annotations:
29     msb.onap.org/service-info: '[
30     {
31       "serviceName": "multicloud",
32       "version": "v0",
33       "url": "/api/multicloud/v0",
34       "protocol": "REST",
35       "port": "{{ .Values.service.externalPort }}",
36       {{if (include "common.needTLS" .) -}}
37       "enable_ssl": {{ .Values.config.ssl_enabled }},
38       {{- else -}}
39       "enable_ssl": false,
40       {{- end}}
41       "visualRange": "1"
42     },
43     {
44       "serviceName": "multicloud",
45       "version": "v1",
46       "url": "/api/multicloud/v1",
47       "protocol": "REST",
48       "port": "{{ .Values.service.externalPort }}",
49       "enable_ssl": {{ if (include "common.needTLS" .) }}{{ .Values.config.ssl_enabled }}{{ else }}false{{ end }},
50       "visualRange": "1"
51     }
52     ]'
53 spec:
54   ports:
55   {{if eq .Values.service.type "NodePort" -}}
56   - port: {{ .Values.service.externalPort }}
57     nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
58     name: {{ .Values.service.portName }}
59   {{- else -}}
60   - port: {{ .Values.service.externalPort }}
61     targetPort: {{ .Values.service.internalPort }}
62     name: {{ .Values.service.portName }}
63   {{- end}}
64   selector:
65     app: {{ include "common.name" . }}
66     release: {{ include "common.release" . }}
67   type: {{ .Values.service.type }}