apiVersion: v1
kind: Service
metadata:
  name: {{template "jenkins.fullname" . }}
  namespace: {{ template "jenkins.namespace" . }}
  labels:
    "app.kubernetes.io/name": '{{ template "jenkins.name" .}}'
    {{- if .Values.renderHelmLabels }}
    "helm.sh/chart": "{{ template "jenkins.label" .}}"
    {{- end }}
    "app.kubernetes.io/managed-by": "{{ .Release.Service }}"
    "app.kubernetes.io/instance": "{{ .Release.Name }}"
    "app.kubernetes.io/component": "{{ .Values.controller.componentName }}"
    {{- if .Values.controller.serviceLabels }}
{{ toYaml .Values.controller.serviceLabels | indent 4 }}
    {{- end }}
{{- if .Values.controller.serviceAnnotations }}
  annotations:
{{ toYaml .Values.controller.serviceAnnotations | indent 4 }}
{{- end }}
spec:
  {{- if .Values.controller.serviceExternalTrafficPolicy }}
  externalTrafficPolicy: {{.Values.controller.serviceExternalTrafficPolicy}}
  {{- end }}
  {{- if (and (eq .Values.controller.serviceType "ClusterIP") (not (empty .Values.controller.clusterIP))) }}
  clusterIP: {{.Values.controller.clusterIP}}
  {{- end }}
  ports:
    - port: {{.Values.controller.servicePort}}
      name: http
      targetPort: {{ .Values.controller.targetPort }}
      {{- if (and (eq .Values.controller.serviceType "NodePort") (not (empty .Values.controller.nodePort))) }}
      nodePort: {{.Values.controller.nodePort}}
      {{- end }}
{{- range $index, $port := .Values.controller.extraPorts }}
    - port: {{ $port.port }}
      name: {{ $port.name }}
      {{- if $port.targetPort }}
      targetPort: {{ $port.targetPort }}
      {{- else }}
      targetPort: {{ $port.port }}
      {{- end -}}
{{- end }}
  selector:
    "app.kubernetes.io/component": "{{ .Values.controller.componentName }}"
    "app.kubernetes.io/instance": "{{ .Release.Name }}"
  type: {{.Values.controller.serviceType}}
  {{if eq .Values.controller.serviceType "LoadBalancer"}}
{{- if .Values.controller.loadBalancerSourceRanges }}
  loadBalancerSourceRanges:
{{ toYaml .Values.controller.loadBalancerSourceRanges | indent 4 }}
{{- end }}
  {{if .Values.controller.loadBalancerIP}}
  loadBalancerIP: {{.Values.controller.loadBalancerIP}}
  {{end}}
  {{end}}
