github.com/verrazzano/verrazzano@v1.7.0/platform-operator/thirdparty/charts/ingress-nginx/templates/controller-service.yaml (about)

     1  {{- if and .Values.controller.service.enabled .Values.controller.service.external.enabled -}}
     2  apiVersion: v1
     3  kind: Service
     4  metadata:
     5    annotations:
     6    {{- range $key, $value := .Values.controller.service.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" . }}
    16    namespace: {{ .Release.Namespace }}
    17  spec:
    18    type: {{ .Values.controller.service.type }}
    19  {{- if .Values.controller.service.clusterIP }}
    20    clusterIP: {{ .Values.controller.service.clusterIP }}
    21  {{- end }}
    22  {{- if .Values.controller.service.externalIPs }}
    23    externalIPs: {{ toYaml .Values.controller.service.externalIPs | nindent 4 }}
    24  {{- end }}
    25  {{- if .Values.controller.service.loadBalancerIP }}
    26    loadBalancerIP: {{ .Values.controller.service.loadBalancerIP }}
    27  {{- end }}
    28  {{- if .Values.controller.service.loadBalancerSourceRanges }}
    29    loadBalancerSourceRanges: {{ toYaml .Values.controller.service.loadBalancerSourceRanges | nindent 4 }}
    30  {{- end }}
    31  {{- if .Values.controller.service.externalTrafficPolicy }}
    32    externalTrafficPolicy: {{ .Values.controller.service.externalTrafficPolicy }}
    33  {{- end }}
    34  {{- if .Values.controller.service.sessionAffinity }}
    35    sessionAffinity: {{ .Values.controller.service.sessionAffinity }}
    36  {{- end }}
    37  {{- if .Values.controller.service.healthCheckNodePort }}
    38    healthCheckNodePort: {{ .Values.controller.service.healthCheckNodePort }}
    39  {{- end }}
    40  {{- if semverCompare ">=1.21.0-0" .Capabilities.KubeVersion.Version -}}
    41  {{- if .Values.controller.service.ipFamilyPolicy }}
    42    ipFamilyPolicy: {{ .Values.controller.service.ipFamilyPolicy }}
    43  {{- end }}
    44  {{- end }}
    45  {{- if semverCompare ">=1.21.0-0" .Capabilities.KubeVersion.Version -}}
    46  {{- if .Values.controller.service.ipFamilies }}
    47    ipFamilies: {{ toYaml .Values.controller.service.ipFamilies | nindent 4 }}
    48  {{- end }}
    49  {{- end }}
    50    ports:
    51    {{- $setNodePorts := (or (eq .Values.controller.service.type "NodePort") (eq .Values.controller.service.type "LoadBalancer")) }}
    52    {{- if .Values.controller.service.enableHttp }}
    53      - name: http
    54        port: {{ .Values.controller.service.ports.http }}
    55        protocol: TCP
    56        targetPort: {{ .Values.controller.service.targetPorts.http }}
    57      {{- if and (semverCompare ">=1.20" .Capabilities.KubeVersion.Version) (.Values.controller.service.appProtocol) }}
    58        appProtocol: http
    59      {{- end }}
    60      {{- if (and $setNodePorts (not (empty .Values.controller.service.nodePorts.http))) }}
    61        nodePort: {{ .Values.controller.service.nodePorts.http }}
    62      {{- end }}
    63    {{- end }}
    64    {{- if .Values.controller.service.enableHttps }}
    65      - name: https
    66        port: {{ .Values.controller.service.ports.https }}
    67        protocol: TCP
    68        targetPort: {{ .Values.controller.service.targetPorts.https }}
    69      {{- if and (semverCompare ">=1.20" .Capabilities.KubeVersion.Version) (.Values.controller.service.appProtocol) }}
    70        appProtocol: https
    71      {{- end }}
    72      {{- if (and $setNodePorts (not (empty .Values.controller.service.nodePorts.https))) }}
    73        nodePort: {{ .Values.controller.service.nodePorts.https }}
    74      {{- end }}
    75    {{- end }}
    76    {{- range $key, $value := .Values.tcp }}
    77      - name: {{ if $.Values.portNamePrefix }}{{ $.Values.portNamePrefix }}-{{ end }}{{ $key }}-tcp
    78        port: {{ $key }}
    79        protocol: TCP
    80        targetPort: {{ if $.Values.portNamePrefix }}{{ $.Values.portNamePrefix }}-{{ end }}{{ $key }}-tcp
    81      {{- if $.Values.controller.service.nodePorts.tcp }}
    82      {{- if index $.Values.controller.service.nodePorts.tcp $key }}
    83        nodePort: {{ index $.Values.controller.service.nodePorts.tcp $key }}
    84      {{- end }}
    85      {{- end }}
    86    {{- end }}
    87    {{- range $key, $value := .Values.udp }}
    88      - name: {{ if $.Values.portNamePrefix }}{{ $.Values.portNamePrefix }}-{{ end }}{{ $key }}-udp
    89        port: {{ $key }}
    90        protocol: UDP
    91        targetPort: {{ if $.Values.portNamePrefix }}{{ $.Values.portNamePrefix }}-{{ end }}{{ $key }}-udp
    92      {{- if $.Values.controller.service.nodePorts.udp }}
    93      {{- if index $.Values.controller.service.nodePorts.udp $key }}
    94        nodePort: {{ index $.Values.controller.service.nodePorts.udp $key }}
    95      {{- end }}
    96      {{- end }}
    97    {{- end }}
    98    selector:
    99      {{- include "ingress-nginx.selectorLabels" . | nindent 4 }}
   100      app.kubernetes.io/component: controller
   101  {{- end }}