github.com/nginxinc/kubernetes-ingress@v1.12.5/deployments/helm-chart/templates/controller-service.yaml (about)

     1  {{- if .Values.controller.service.create }}
     2  apiVersion: v1
     3  kind: Service
     4  metadata:
     5    name: {{ include "nginx-ingress.serviceName" . }}
     6    namespace: {{ .Release.Namespace }}
     7    labels:
     8      {{- include "nginx-ingress.labels" . | nindent 4 }}
     9  {{- if .Values.controller.service.extraLabels }}
    10  {{ toYaml .Values.controller.service.extraLabels | indent 4 }}
    11  {{- end }}
    12  {{- if .Values.controller.service.annotations }}
    13    annotations:
    14  {{ toYaml .Values.controller.service.annotations | indent 4 }}
    15  {{- end }}
    16  spec:
    17  {{- if or (eq .Values.controller.service.type "LoadBalancer") (eq .Values.controller.service.type "NodePort") }}
    18    {{- if .Values.controller.service.externalTrafficPolicy }}
    19    externalTrafficPolicy: {{ .Values.controller.service.externalTrafficPolicy }}
    20    {{- end }}
    21  {{- end }}
    22  {{- if eq .Values.controller.service.type "LoadBalancer" }}
    23    {{- if .Values.controller.service.loadBalancerIP }}
    24    loadBalancerIP: {{ .Values.controller.service.loadBalancerIP }}
    25    {{- end }}
    26    {{- if .Values.controller.service.loadBalancerSourceRanges }}
    27    loadBalancerSourceRanges:
    28  {{ toYaml .Values.controller.service.loadBalancerSourceRanges | indent 4 }}
    29    {{- end }}
    30  {{- end }}
    31    type: {{ .Values.controller.service.type }}
    32    ports:
    33  {{- if .Values.controller.service.customPorts }}
    34  {{ toYaml .Values.controller.service.customPorts | indent 2 }}
    35  {{ end }}
    36  {{- if .Values.controller.service.httpPort.enable }}
    37    - port: {{ .Values.controller.service.httpPort.port }}
    38      targetPort: {{ .Values.controller.service.httpPort.targetPort }}
    39      protocol: TCP
    40      name: http
    41    {{- if eq .Values.controller.service.type "NodePort" }}
    42      nodePort: {{ .Values.controller.service.httpPort.nodePort }}
    43    {{- end }}
    44  {{- end }}
    45  {{- if .Values.controller.service.httpsPort.enable }}
    46    - port: {{ .Values.controller.service.httpsPort.port }}
    47      targetPort: {{ .Values.controller.service.httpsPort.targetPort }}
    48      protocol: TCP
    49      name: https
    50    {{- if eq .Values.controller.service.type "NodePort" }}
    51      nodePort: {{ .Values.controller.service.httpsPort.nodePort }}
    52    {{- end }}
    53  {{- end }}
    54    selector:
    55      app:  {{ include "nginx-ingress.appName" . }}
    56    {{- if .Values.controller.service.externalIPs }}
    57    externalIPs:
    58  {{ toYaml .Values.controller.service.externalIPs | indent 4 }}
    59    {{- end }}
    60  {{- end }}