blob: 87146b746f3069309bfbaecfe3ddff38de549620 [file] [log] [blame]
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001{{- if and .Values.controller.service.enabled .Values.controller.service.internal.enabled .Values.controller.service.internal.annotations}}
2apiVersion: v1
3kind: Service
4metadata:
5 annotations:
6 {{- range $key, $value := .Values.controller.service.internal.annotations }}
7 {{ $key }}: {{ $value | quote }}
8 {{- end }}
9 labels:
10 {{- include "ingress-nginx.labels" . | nindent 4 }}
11 app.kubernetes.io/component: controller
12 {{- if .Values.controller.service.labels }}
13 {{- toYaml .Values.controller.service.labels | nindent 4 }}
14 {{- end }}
15 name: {{ include "ingress-nginx.controller.fullname" . }}-internal
16 namespace: {{ .Release.Namespace }}
17spec:
18 type: "{{ .Values.controller.service.type }}"
19{{- if .Values.controller.service.internal.loadBalancerIP }}
20 loadBalancerIP: {{ .Values.controller.service.internal.loadBalancerIP }}
21{{- end }}
22{{- if .Values.controller.service.internal.loadBalancerSourceRanges }}
23 loadBalancerSourceRanges: {{ toYaml .Values.controller.service.internal.loadBalancerSourceRanges | nindent 4 }}
24{{- end }}
25{{- if .Values.controller.service.internal.externalTrafficPolicy }}
26 externalTrafficPolicy: {{ .Values.controller.service.internal.externalTrafficPolicy }}
27{{- end }}
28 ports:
29 {{- $setNodePorts := (or (eq .Values.controller.service.type "NodePort") (eq .Values.controller.service.type "LoadBalancer")) }}
30 {{- if .Values.controller.service.enableHttp }}
31 - name: http
Giorgi Lekveishvilicccf72f2023-05-19 16:13:22 +040032 port: {{ .Values.controller.service.internal.ports.http | default .Values.controller.service.ports.http }}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040033 protocol: TCP
Giorgi Lekveishvilicccf72f2023-05-19 16:13:22 +040034 targetPort: {{ .Values.controller.service.internal.targetPorts.http | default .Values.controller.service.targetPorts.http }}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040035 {{- if semverCompare ">=1.20" .Capabilities.KubeVersion.Version }}
36 appProtocol: http
37 {{- end }}
38 {{- if (and $setNodePorts (not (empty .Values.controller.service.nodePorts.http))) }}
39 nodePort: {{ .Values.controller.service.nodePorts.http }}
40 {{- end }}
41 {{- end }}
42 {{- if .Values.controller.service.enableHttps }}
43 - name: https
Giorgi Lekveishvilicccf72f2023-05-19 16:13:22 +040044 port: {{ .Values.controller.service.internal.ports.https | default .Values.controller.service.ports.https }}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040045 protocol: TCP
Giorgi Lekveishvilicccf72f2023-05-19 16:13:22 +040046 targetPort: {{ .Values.controller.service.internal.targetPorts.https | default .Values.controller.service.targetPorts.https }}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040047 {{- if semverCompare ">=1.20" .Capabilities.KubeVersion.Version }}
48 appProtocol: https
49 {{- end }}
50 {{- if (and $setNodePorts (not (empty .Values.controller.service.nodePorts.https))) }}
51 nodePort: {{ .Values.controller.service.nodePorts.https }}
52 {{- end }}
53 {{- end }}
54 {{- range $key, $value := .Values.tcp }}
Giorgi Lekveishvilicccf72f2023-05-19 16:13:22 +040055 - name: {{ if $.Values.portNamePrefix }}{{ $.Values.portNamePrefix }}-{{ end }}{{ $key }}-tcp
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040056 port: {{ $key }}
57 protocol: TCP
Giorgi Lekveishvilicccf72f2023-05-19 16:13:22 +040058 targetPort: {{ if $.Values.portNamePrefix }}{{ $.Values.portNamePrefix }}-{{ end }}{{ $key }}-tcp
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040059 {{- if $.Values.controller.service.nodePorts.tcp }}
60 {{- if index $.Values.controller.service.nodePorts.tcp $key }}
61 nodePort: {{ index $.Values.controller.service.nodePorts.tcp $key }}
62 {{- end }}
63 {{- end }}
64 {{- end }}
65 {{- range $key, $value := .Values.udp }}
Giorgi Lekveishvilicccf72f2023-05-19 16:13:22 +040066 - name: {{ if $.Values.portNamePrefix }}{{ $.Values.portNamePrefix }}-{{ end }}{{ $key }}-udp
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040067 port: {{ $key }}
68 protocol: UDP
Giorgi Lekveishvilicccf72f2023-05-19 16:13:22 +040069 targetPort: {{ if $.Values.portNamePrefix }}{{ $.Values.portNamePrefix }}-{{ end }}{{ $key }}-udp
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040070 {{- if $.Values.controller.service.nodePorts.udp }}
71 {{- if index $.Values.controller.service.nodePorts.udp $key }}
72 nodePort: {{ index $.Values.controller.service.nodePorts.udp $key }}
73 {{- end }}
74 {{- end }}
75 {{- end }}
76 selector:
77 {{- include "ingress-nginx.selectorLabels" . | nindent 4 }}
78 app.kubernetes.io/component: controller
79{{- end }}