################################################################################ # 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. # ################################################################################ apiVersion: v1 kind: Service metadata: name: {{ template "logstash.fullname" . }} labels: app: {{ template "logstash.name" . }} chart: {{ template "logstash.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} annotations: {{- with .Values.service.annotations }} {{ toYaml . | indent 4 }} {{- end }} spec: type: {{ .Values.service.type }} {{- if .Values.service.externalTrafficPolicy }} externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }} {{- end }} ports: {{- range $key, $value := .Values.service.ports }} - name: {{ $key }} {{ toYaml $value | indent 6 }} {{- end }} selector: app: {{ template "logstash.name" . }} release: {{ .Release.Name }} {{- if eq .Values.service.type "LoadBalancer" }} {{- if .Values.service.loadBalancerIP }} loadBalancerIP: {{ .Values.service.loadBalancerIP }} {{- end }} {{- if .Values.service.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{- range $cidr := .Values.service.loadBalancerSourceRanges }} - {{ $cidr }} {{- end }} {{- end }} {{- end }} {{- if .Values.service.clusterIP }} clusterIP: {{ .Values.service.clusterIP }} {{- end }} {{ if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }} nodePort: {{ .Values.service.nodePort }} {{- end }}