79 lines
2.2 KiB
YAML
79 lines
2.2 KiB
YAML
|
{{- if or (eq .Values.expose.type "clusterIP") (eq .Values.expose.type "nodePort") (eq .Values.expose.type "loadBalancer") }}
|
||
|
apiVersion: v1
|
||
|
kind: Service
|
||
|
metadata:
|
||
|
{{- if eq .Values.expose.type "clusterIP" }}
|
||
|
{{- $clusterIP := .Values.expose.clusterIP }}
|
||
|
name: {{ $clusterIP.name }}
|
||
|
labels:
|
||
|
{{ include "harbor.labels" . | indent 4 }}
|
||
|
{{- with $clusterIP.annotations }}
|
||
|
annotations:
|
||
|
{{- toYaml . | nindent 4 }}
|
||
|
{{- end }}
|
||
|
spec:
|
||
|
type: ClusterIP
|
||
|
ports:
|
||
|
- name: http
|
||
|
port: {{ $clusterIP.ports.httpPort }}
|
||
|
targetPort: 8080
|
||
|
{{- if .Values.expose.tls.enabled }}
|
||
|
- name: https
|
||
|
port: {{ $clusterIP.ports.httpsPort }}
|
||
|
targetPort: 8443
|
||
|
{{- end }}
|
||
|
{{- else if eq .Values.expose.type "nodePort" }}
|
||
|
{{- $nodePort := .Values.expose.nodePort }}
|
||
|
name: {{ $nodePort.name }}
|
||
|
labels:
|
||
|
{{ include "harbor.labels" . | indent 4 }}
|
||
|
spec:
|
||
|
type: NodePort
|
||
|
ports:
|
||
|
- name: http
|
||
|
port: {{ $nodePort.ports.http.port }}
|
||
|
targetPort: 8080
|
||
|
{{- if $nodePort.ports.http.nodePort }}
|
||
|
nodePort: {{ $nodePort.ports.http.nodePort }}
|
||
|
{{- end }}
|
||
|
{{- if .Values.expose.tls.enabled }}
|
||
|
- name: https
|
||
|
port: {{ $nodePort.ports.https.port }}
|
||
|
targetPort: 8443
|
||
|
{{- if $nodePort.ports.https.nodePort }}
|
||
|
nodePort: {{ $nodePort.ports.https.nodePort }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
{{- else if eq .Values.expose.type "loadBalancer" }}
|
||
|
{{- $loadBalancer := .Values.expose.loadBalancer }}
|
||
|
name: {{ $loadBalancer.name }}
|
||
|
labels:
|
||
|
{{ include "harbor.labels" . | indent 4 }}
|
||
|
{{- with $loadBalancer.annotations }}
|
||
|
annotations:
|
||
|
{{- toYaml . | nindent 4 }}
|
||
|
{{- end }}
|
||
|
spec:
|
||
|
type: LoadBalancer
|
||
|
{{- with $loadBalancer.sourceRanges }}
|
||
|
loadBalancerSourceRanges:
|
||
|
{{- toYaml . | nindent 4 }}
|
||
|
{{- end }}
|
||
|
{{- if $loadBalancer.IP }}
|
||
|
loadBalancerIP: {{ $loadBalancer.IP }}
|
||
|
{{- end }}
|
||
|
ports:
|
||
|
- name: http
|
||
|
port: {{ $loadBalancer.ports.httpPort }}
|
||
|
targetPort: 8080
|
||
|
{{- if .Values.expose.tls.enabled }}
|
||
|
- name: https
|
||
|
port: {{ $loadBalancer.ports.httpsPort }}
|
||
|
targetPort: 8443
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
selector:
|
||
|
{{ include "harbor.matchLabels" . | indent 4 }}
|
||
|
component: nginx
|
||
|
{{- end }}
|