--- /dev/null
+################################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: {{ template "uname" . }}
+ labels:
+ heritage: {{ .Release.Service | quote }}
+ release: {{ .Release.Name | quote }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ app: "{{ template "uname" . }}"
+ annotations:
+{{ toYaml .Values.service.annotations | indent 4 }}
+spec:
+ type: {{ .Values.service.type }}
+ selector:
+ heritage: {{ .Release.Service | quote }}
+ release: {{ .Release.Name | quote }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ app: "{{ template "uname" . }}"
+ ports:
+ - name: http
+ protocol: TCP
+ port: {{ .Values.httpPort }}
+{{- if .Values.service.nodePort }}
+ nodePort: {{ .Values.service.nodePort }}
+{{- end }}
+ - name: transport
+ protocol: TCP
+ port: {{ .Values.transportPort }}
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: {{ template "uname" . }}-headless
+ labels:
+ heritage: {{ .Release.Service | quote }}
+ release: {{ .Release.Name | quote }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ app: "{{ template "uname" . }}"
+ annotations:
+ service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+spec:
+ clusterIP: None # This is needed for statefulset hostnames like elasticsearch-0 to resolve
+ # Create endpoints also if the related pod isn't ready
+ publishNotReadyAddresses: true
+ selector:
+ app: "{{ template "uname" . }}"
+ ports:
+ - name: http
+ port: {{ .Values.httpPort }}
+ - name: transport
+ port: {{ .Values.transportPort }}