12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- {{- /*
- Copyright Broadcom, Inc. All Rights Reserved.
- SPDX-License-Identifier: APACHE-2.0
- */}}
- apiVersion: v1
- kind: Service
- metadata:
- name: {{ template "common.names.fullname" . }}
- namespace: {{ include "common.names.namespace" . | quote }}
- labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
- app.kubernetes.io/component: kafka
- {{- if or .Values.service.annotations .Values.commonAnnotations }}
- {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.service.annotations .Values.commonAnnotations ) "context" . ) }}
- annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }}
- {{- end }}
- spec:
- type: {{ .Values.service.type }}
- {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }}
- clusterIP: {{ .Values.service.clusterIP }}
- {{- end }}
- {{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
- externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
- {{- end }}
- {{- if (eq .Values.service.type "LoadBalancer") }}
- allocateLoadBalancerNodePorts: {{ .Values.service.allocateLoadBalancerNodePorts }}
- {{- if (not (empty .Values.service.loadBalancerClass)) }}
- loadBalancerClass: {{ .Values.service.loadBalancerClass }}
- {{- end }}
- {{- if (not (empty .Values.service.loadBalancerSourceRanges)) }}
- loadBalancerSourceRanges: {{ .Values.service.loadBalancerSourceRanges }}
- {{- end }}
- {{- if (not (empty .Values.service.loadBalancerIP)) }}
- loadBalancerIP: {{ .Values.service.loadBalancerIP }}
- {{- end }}
- {{- end }}
- {{- if .Values.service.sessionAffinity }}
- sessionAffinity: {{ .Values.service.sessionAffinity }}
- {{- end }}
- {{- if .Values.service.sessionAffinityConfig }}
- sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }}
- {{- end }}
- ports:
- - name: tcp-client
- port: {{ .Values.service.ports.client }}
- protocol: TCP
- targetPort: client
- {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.client)) }}
- nodePort: {{ .Values.service.nodePorts.client }}
- {{- else if eq .Values.service.type "ClusterIP" }}
- nodePort: null
- {{- end }}
- {{- if .Values.externalAccess.enabled }}
- - name: tcp-external
- port: {{ .Values.service.ports.external }}
- protocol: TCP
- targetPort: external
- {{- if (not (empty .Values.service.nodePorts.external)) }}
- nodePort: {{ .Values.service.nodePorts.external }}
- {{- end }}
- {{- end }}
- {{- if .Values.service.extraPorts }}
- {{- include "common.tplvalues.render" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }}
- {{- end }}
- selector: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
- app.kubernetes.io/part-of: kafka
- {{- if .Values.controller.controllerOnly }}
- app.kubernetes.io/component: broker
- {{- end }}
- {{- with .Values.service.ipFamilyPolicy }}
- ipFamilyPolicy: {{ . | quote }}
- {{- end }}
- {{- with .Values.service.ipFamilies }}
- ipFamilies:
- {{- . | toYaml | nindent 2 }}
- {{- end }}
|