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 }}