56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
{{- if eq .Values.expose.type "route" }}
|
|
{{- $route := .Values.expose.route -}}
|
|
{{- $_ := set . "path_type" "PathPrefix" -}}
|
|
{{- $_ := set . "portal_path" "/" -}}
|
|
{{- $_ := set . "api_path" "/api/" -}}
|
|
{{- $_ := set . "service_path" "/service/" -}}
|
|
{{- $_ := set . "v2_path" "/v2/" -}}
|
|
{{- $_ := set . "controller_path" "/c/" -}}
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1
|
|
kind: HTTPRoute
|
|
metadata:
|
|
name: "{{ template "harbor.route" . }}"
|
|
namespace: {{ .Release.Namespace | quote }}
|
|
{{- if $route.labels }}
|
|
labels:
|
|
{{ include "harbor.labels" . | indent 4 }}
|
|
{{ toYaml $route.labels | indent 4 }}
|
|
{{- end }}
|
|
{{- if $route.annotations }}
|
|
annotations:
|
|
{{ toYaml $route.annotations | indent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
parentRefs:
|
|
{{- toYaml $route.parentRefs | nindent 2 }}
|
|
hostnames:
|
|
{{- toYaml $route.hosts | nindent 2 }}
|
|
rules:
|
|
- matches:
|
|
- path:
|
|
type: {{ .path_type }}
|
|
value: {{ .api_path }}
|
|
- path:
|
|
type: {{ .path_type }}
|
|
value: {{ .service_path }}
|
|
- path:
|
|
type: {{ .path_type }}
|
|
value: {{ .v2_path }}
|
|
- path:
|
|
type: {{ .path_type }}
|
|
value: {{ .controller_path }}
|
|
backendRefs:
|
|
- name: {{ template "harbor.core" . }}
|
|
namespace: {{ .Release.Namespace | quote }}
|
|
port: {{ template "harbor.core.servicePort" . }}
|
|
- matches:
|
|
- path:
|
|
type: {{ .path_type }}
|
|
value: {{ .portal_path }}
|
|
backendRefs:
|
|
- name: {{ template "harbor.portal" . }}
|
|
namespace: {{ .Release.Namespace | quote }}
|
|
port: {{ template "harbor.portal.servicePort" . }}
|
|
{{- end }}
|