c6b24ee22f241031691aa945dea01b7ddd8989f0
[oom.git] / kubernetes / dcaegen2 / charts / dcae-cloudify-manager / templates / service.yaml
1 #============LICENSE_START========================================================
2 # ================================================================================
3 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4 # Copyright © 2018 Amdocs, Bell Canada
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #     http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END=========================================================
18
19 apiVersion: v1
20 kind: Service
21 metadata:
22   name: {{ include "common.servicename" . }}
23   namespace: {{ include "common.namespace" . }}
24   labels:
25     app: {{ include "common.name" . }}
26     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
27     release: {{ .Release.Name }}
28     heritage: {{ .Release.Service }}
29 spec:
30   type: {{ .Values.service.type }}
31   ports:
32     {{if eq .Values.service.type "NodePort" -}}
33     - port: {{ .Values.service.externalPort }}
34       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
35       name: {{ .Values.service.name }}
36     {{- else -}}
37     - port: {{ .Values.service.externalPort }}
38       targetPort: {{ .Values.service.internalPort }}
39       name: {{ .Values.service.name }}
40     {{- end}}
41   selector:
42     app: {{ include "common.name" . }}
43     release: {{ .Release.Name }}
44 {{ if .Values.dcae_ns}}
45 ---
46 # Make consul visible inside DCAE component namespace under a well-known name
47 apiVersion: v1
48 kind: Service
49 metadata:
50   name: consul
51   namespace: {{ .Values.dcae_ns }}
52 spec:
53   type: ExternalName
54   externalName: {{ .Values.config.address.consul.host }}.{{ include "common.namespace" . }}.svc.cluster.local
55 ---
56 # Make Cloudify Manager visible inside DCAE component namespace under a well-known name
57 apiVersion: v1
58 kind: Service
59 metadata:
60   name: {{ include "common.servicename" . }}
61   namespace: {{ .Values.dcae_ns }}
62 spec:
63   type: ExternalName
64   externalName: {{ .Values.service.name }}.{{ include "common.namespace" . }}.svc.cluster.local
65 {{ end }}
66