All checks were successful
Build and Publish TechDocs (Helm Chart Resource) / build-and-publish-helm-chart (push) Successful in 1m12s
Change-Id: If67c32e979b6d03a135072c836ca54ee01c99e66
134 lines
5.1 KiB
YAML
134 lines
5.1 KiB
YAML
{{/*
|
|
Copyright 2019 HAProxy Technologies LLC
|
|
|
|
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.
|
|
*/}}
|
|
|
|
{{- if .Values.controller.service.enabled }}
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ include "kubernetes-ingress.fullname" . }}
|
|
namespace: {{ include "kubernetes-ingress.namespace" . }}
|
|
labels:
|
|
{{- include "kubernetes-ingress.labels" . | nindent 4 }}
|
|
{{- if .Values.controller.service.labels }}
|
|
{{ toYaml .Values.controller.service.labels | indent 4 }}
|
|
{{- end }}
|
|
annotations:
|
|
{{- range $key, $value := .Values.controller.service.annotations }}
|
|
{{ $key }}: {{ $value | quote }}
|
|
{{- end }}
|
|
spec:
|
|
{{ with .Values.controller.service.clusterIP }}clusterIP: {{ . }}{{ end }}
|
|
type: {{ .Values.controller.service.type }}
|
|
{{- if .Values.controller.service.externalTrafficPolicy }}
|
|
externalTrafficPolicy: {{ .Values.controller.service.externalTrafficPolicy }}
|
|
{{- end }}
|
|
{{- if .Values.controller.service.healthCheckNodePort }}
|
|
healthCheckNodePort: {{ .Values.controller.service.healthCheckNodePort }}
|
|
{{- end }}
|
|
ports:
|
|
{{- if .Values.controller.service.enablePorts.http }}
|
|
- name: http
|
|
port: {{ .Values.controller.service.ports.http }}
|
|
protocol: TCP
|
|
{{- if semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version }}
|
|
appProtocol: http
|
|
{{- end }}
|
|
targetPort: {{ .Values.controller.service.targetPorts.http }}
|
|
{{- if .Values.controller.service.nodePorts.http }}
|
|
nodePort: {{ .Values.controller.service.nodePorts.http }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.controller.service.enablePorts.https }}
|
|
- name: https
|
|
port: {{ .Values.controller.service.ports.https }}
|
|
protocol: TCP
|
|
{{- if semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version }}
|
|
appProtocol: https
|
|
{{- end }}
|
|
targetPort: {{ .Values.controller.service.targetPorts.https }}
|
|
{{- if .Values.controller.service.nodePorts.https }}
|
|
nodePort: {{ .Values.controller.service.nodePorts.https }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if and (semverCompare ">=1.24.0-0" .Capabilities.KubeVersion.Version) .Values.controller.service.enablePorts.quic }}
|
|
- name: quic
|
|
port: {{ .Values.controller.service.ports.https }}
|
|
protocol: UDP
|
|
{{- if semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version }}
|
|
appProtocol: https
|
|
{{- end }}
|
|
targetPort: {{ .Values.controller.service.targetPorts.quic }}
|
|
{{- if .Values.controller.service.nodePorts.https }}
|
|
nodePort: {{ .Values.controller.service.nodePorts.https }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.controller.service.enablePorts.stat }}
|
|
- name: stat
|
|
port: {{ .Values.controller.service.ports.stat }}
|
|
protocol: TCP
|
|
targetPort: {{ .Values.controller.service.targetPorts.stat }}
|
|
{{- if .Values.controller.service.nodePorts.stat }}
|
|
nodePort: {{ .Values.controller.service.nodePorts.stat }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.controller.service.enablePorts.admin }}
|
|
- name: admin
|
|
port: {{ .Values.controller.service.ports.admin }}
|
|
protocol: TCP
|
|
targetPort: {{ .Values.controller.service.targetPorts.admin }}
|
|
{{- if .Values.controller.service.nodePorts.admin }}
|
|
nodePort: {{ .Values.controller.service.nodePorts.admin }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- range .Values.controller.service.tcpPorts }}
|
|
- name: {{ .name | trunc 15 | trimSuffix "-" }}
|
|
port: {{ .port }}
|
|
protocol: TCP
|
|
targetPort: {{ .targetPort }}
|
|
{{- if .nodePort }}
|
|
nodePort: {{ .nodePort }}
|
|
{{- end }}
|
|
{{- end }}
|
|
selector:
|
|
{{- include "kubernetes-ingress.selectorLabels" . | nindent 4 }}
|
|
{{- if .Values.controller.service.sessionAffinity }}
|
|
sessionAffinity: {{ .Values.controller.service.sessionAffinity }}
|
|
{{- end }}
|
|
{{- if .Values.controller.service.ipFamilies }}
|
|
ipFamilies:
|
|
{{- toYaml .Values.controller.service.ipFamilies | nindent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.controller.service.ipFamilyPolicy }}
|
|
ipFamilyPolicy: {{ .Values.controller.service.ipFamilyPolicy | quote }}
|
|
{{- end }}
|
|
externalIPs:
|
|
{{- if .Values.controller.service.externalIPs }}
|
|
{{ toYaml .Values.controller.service.externalIPs | indent 4 }}
|
|
{{- end -}}
|
|
{{- if (eq .Values.controller.service.type "LoadBalancer") }}
|
|
{{- if .Values.controller.service.loadBalancerIP }}
|
|
loadBalancerIP: "{{ .Values.controller.service.loadBalancerIP }}"
|
|
{{- end }}
|
|
{{- if .Values.controller.service.loadBalancerSourceRanges }}
|
|
loadBalancerSourceRanges:
|
|
{{ toYaml .Values.controller.service.loadBalancerSourceRanges | indent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.controller.service.loadBalancerClass}}
|
|
loadBalancerClass: "{{ .Values.controller.service.loadBalancerClass }}"
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|