[MODELING] Service Mesh Compatibility
[oom.git] / kubernetes / modeling / components / modeling-etsicatalog / templates / service.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
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": "parser",
31           "version": "v1",
32           "url": "/api/parser/v1",
33           "protocol": "REST",
34           "port": "{{.Values.service.externalPort}}",
35           "enable_ssl": {{ .Values.config.ssl_enabled }},
36           "visualRange":"1"
37       },
38       {
39           "serviceName": "catalog",
40           "version": "v1",
41           "url": "/api/catalog/v1",
42           "protocol": "REST",
43           "port": "{{.Values.service.externalPort}}",
44           "enable_ssl": {{ .Values.config.ssl_enabled }},
45           "visualRange":"1"
46       },
47       {
48           "serviceName": "nsd",
49           "version": "v1",
50           "url": "/api/nsd/v1",
51           "protocol": "REST",
52           "port": "{{.Values.service.externalPort}}",
53           "enable_ssl": {{ .Values.config.ssl_enabled }},
54           "visualRange":"1"
55       },
56       {
57           "serviceName": "vnfpkgm",
58           "version": "v1",
59           "url": "/api/vnfpkgm/v1",
60           "protocol": "REST",
61           "port": "{{.Values.service.externalPort}}",
62           "enable_ssl": {{ .Values.config.ssl_enabled }},
63           "visualRange":"1"
64       }
65       ]'
66 spec:
67   type: {{ .Values.service.type }}
68   ports:
69     {{if eq .Values.service.type "NodePort" -}}
70     - port: {{ .Values.service.externalPort }}
71       targetPort: {{ .Values.service.internalPort }}
72       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
73       name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
74     {{- else -}}
75     - port: {{ .Values.service.externalPort }}
76       targetPort: {{ .Values.service.internalPort }}
77       name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
78     {{- end}}
79   selector:
80     app: {{ include "common.name" . }}
81     release: {{ include "common.release" . }}