{{- $app := .Values }} {{- $route := $app.route }} {{- if $route.enabled }} {{- $ctx := dict "helm" . }} {{- $fullname := include "vm.plain.fullname" $ctx }} {{- $ns := include "vm.namespace" $ctx }} --- apiVersion: {{ $route.apiVersion | default "gateway.networking.k8s.io/v1" }} kind: {{ $route.kind | default "HTTPRoute" }} metadata: name: {{ $fullname }} namespace: {{ $ns }} {{- $_ := set $ctx "extraLabels" $app.route.extraLabels }} labels: {{ include "vm.labels" $ctx | nindent 4 }} {{- $_ := unset $ctx "extraLabels" }} {{- with $route.annotations }} annotations: {{ tpl (toYaml .) $ | nindent 4 }} {{- end }} spec: {{- with $route.parentRefs }} parentRefs: {{ toYaml . | nindent 4 }} {{- end }} {{- with $route.hostnames }} hostnames: {{ tpl (toYaml .) $ | nindent 4 }} {{- end }} rules: {{- with $route.extraRules }} {{- tpl (toYaml .) $ | nindent 4 }} {{- end }} - backendRefs: - name: {{ $fullname }} port: {{ $route.port | default (include "vm.port.from.flag" (dict "flag" ($app.extraArgs).httpListenAddr)) }} group: '' kind: Service weight: 1 {{- with $route.filters }} filters: {{ toYaml . | nindent 8 }} {{- end }} {{- with $route.matches }} matches: {{ tpl (toYaml .) $ | nindent 8 }} {{- end }} {{- end }}