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