[CONSUL] Add limits to consul chart.
[oom.git] / kubernetes / appc / templates / service.yaml
1 # Copyright © 2018  AT&T, Amdocs, Bell Canada Intellectual Property.  All rights reserved.
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": "appc",
29           "version": "v1",
30           "url": "/",
31           "protocol": "REST",
32           "port": "{{ .Values.service.externalPort }}",
33           "visualRange":"1",
34           "path": "/"
35       }
36       ]'
37 spec:
38   type: {{ .Values.service.type }}
39   ports:
40     {{if eq .Values.service.type "NodePort" -}}
41     - port: {{ .Values.service.externalPort }}
42       targetPort: {{ .Values.service.internalPort }}
43       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
44       name: "{{ .Values.service.portName }}-8443"
45     - port: {{ .Values.service.externalPort2 }}
46       targetPort: {{ .Values.service.internalPort2 }}
47       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
48       name: "{{ .Values.service.portName }}-1830"
49     - port: {{ .Values.service.externalPort3 }}
50       targetPort: {{ .Values.service.internalPort3 }}
51       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
52       name: "{{ .Values.service.portName }}-9090"
53     {{- else -}}
54     - port: {{ .Values.service.externalPort }}
55       targetPort: {{ .Values.service.internalPort }}
56       name: {{ .Values.service.portName }}-8443
57     - port: {{ .Values.service.externalPort2 }}
58       targetPort: {{ .Values.service.internalPort2 }}
59       name: {{ .Values.service.portName }}-1830
60     - port: {{ .Values.service.externalPort3 }}
61       targetPort: {{ .Values.service.internalPort3 }}
62       name: {{ .Values.service.portName }}-9090
63     {{- end}}
64   selector:
65     app: {{ include "common.name" . }}
66     release: {{ include "common.release" . }}
67 ---
68 apiVersion: v1
69 kind: Service
70 metadata:
71   name: {{ include "common.servicename" . }}-cluster
72   namespace: {{ include "common.namespace" . }}
73   labels:
74     app: {{ include "common.name" . }}
75     release: {{ include "common.release" . }}
76   annotations:
77     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
78 spec:
79   ports:
80    - name: "{{ .Values.service.portName }}-cluster-port"
81      port: {{ .Values.service.clusterPort }}
82   clusterIP: None
83   selector:
84     app: {{ include "common.name" . }}
85     release: {{ include "common.release" . }}
86   sessionAffinity: None
87   type: ClusterIP