# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

{{- if .Values.httpRoute.enabled }}
{{- /* Default gatewayNamespace to the release namespace if not specified */ -}}
{{- $gatewayNs := default .Release.Namespace .Values.httpRoute.gatewayNamespace }}
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: {{ .Values.model.shortName }}-route
  namespace: {{ .Release.Namespace }}
spec:
  parentRefs:
  - group: gateway.networking.k8s.io
    kind: Gateway
    name: {{ .Values.httpRoute.gatewayName }}
    namespace: {{ $gatewayNs }}
  rules:
  - backendRefs:
    - group: inference.networking.k8s.io
      kind: InferencePool
      name: {{ .Values.model.shortName }}-pool
      namespace: {{ .Release.Namespace }}
      port: {{ .Values.inferencePool.port }}
      weight: 1
    matches:
    - path:
        type: PathPrefix
        value: {{ .Values.httpRoute.path.prefix }}
    timeouts:
      request: {{ .Values.httpRoute.timeout.request }}
{{- end }}