initial commit
All checks were successful
Build and Publish TechDocs / build-and-publish (push) Successful in 1m15s
All checks were successful
Build and Publish TechDocs / build-and-publish (push) Successful in 1m15s
Change-Id: I2e2564a72b6be9af536235fc3795fd788fd9257b
This commit is contained in:
133
kubernetes-ingress/templates/controller-service.yaml
Normal file
133
kubernetes-ingress/templates/controller-service.yaml
Normal file
@@ -0,0 +1,133 @@
|
||||
{{/*
|
||||
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 }}
|
||||
Reference in New Issue
Block a user